我的应用程序中只有一个活动,其中包含导航视图以浏览3个片段。
当我导航到片段时,我将汉堡菜单图标更改为onNavigationItemSelected方法中的向上按钮,如下所示:
actionBarDrawerToggle.setDrawerIndicatorEnabled(false);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
向上按钮显示效果不错但尚未生效。
我想在点击按钮时导航到堆栈中的前一个片段,但我无法为该按钮添加一个监听器。
我尝试过使用:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == android.R.id.home) {
onBackPressed();
return true;
}
return super.onOptionsItemSelected(item);
}
但从未调用过。我认为它没有被调用,因为我在清单中没有父活动。
提前致谢。
答案 0 :(得分:0)
你不应该调用onBackPressed,你应该使用片段事务方法在片段之间进行交换,就像我用替换方法用以前的片段替换当前片段一样。 container是包含片段的布局。
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.fragment_container, newFragment);
transaction.commit();
我希望,它会给你一些指导。
if (id == android.R.id.home) {
//put the code like above here.
return true;
}