0
我有一个应用程序与几个活动。到现在为止,我在它们之间有一个“硬编码”层次结构,所以我在每个(但是启动器活动)中明确设置了android:parentActivityName。但是现在我将设置添加到多个活动的菜单中。有没有办法让AppCompat的ActionBar的“back/up”按钮充当“后退”系统按钮
有没有办法让操作栏功能中的“后退”箭头作为系统后退按钮(在屏幕的底部)?换句话说:如果有一个parentActivityName集,然后它可以追溯到父活动,如果没有,那么它会关闭活动,“蜗居”在过去的活动。
这是我尝试过,但不起作用。如果我不叫actionBar.setDisplayHomeAsUpEnabled(真),那么就在操作栏中没有“返回”箭头,但如果我把它在没有parentActivityName请将清单的活动,然后我得到一个异常时,我点击箭头。
abstract public class BaseActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(getLayoutResourceId());
final ActionBar actionBar = getSupportActionBar();
if (null != actionBar) {
actionBar.setDisplayHomeAsUpEnabled(getDisplayHomeAsUpEnabled());
}
}
protected abstract int getLayoutResourceId();
abstract protected boolean getDisplayHomeAsUpEnabled();
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
final int id = item.getItemId();
if (id == android.R.id.home) {
NavUtils.navigateUpFromSameTask(this);
return true;
}
}
}
这仍然无法帮助我显示android:parentActivityName没有在清单中设置 – Gavriel 2014-12-02 08:22:43
@Gavriel我不使用'android:parentActivity',我只是使用'setDisplayHomeAsUpEnabled(true);'与上面的代码它的工作就像后面的系统按钮 – 2014-12-02 08:30:39
好吧,它实际上工作。现在我可以在每个活动上调用actionBar.setDisplayHomeAsUpEnabled(true)。 – Gavriel 2014-12-02 08:30:40