Actionbar Up按钮侦听器

时间:2016-03-26 18:26:45

标签: android android-actionbar navigationview

我的应用程序中只有一个活动,其中包含导航视图以浏览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);
}

但从未调用过。我认为它没有被调用,因为我在清单中没有父活动。

提前致谢。

1 个答案:

答案 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;
}