Android Actionbar后退按钮功能未更改

Android Actionbar后退按钮功能未更改,android,menu,android-actionbar,Android,Menu,Android Actionbar,我有一个片段a,其中加载了另一个片段B。在片段a操作栏中,我有一个汉堡包菜单,当我移动到片段B时,它应该被更改为后退菜单按钮。加载后退按钮时,菜单的功能应从加载抽屉布局的汉堡菜单更改为加载上一个片段(即片段B)的后退按钮菜单。我可以将菜单的图标从汉堡更改为后退按钮,但当加载“后退”按钮时,我无法更改图标的功能 我正在通过以下代码更改片段B中操作栏中的按钮 MainActivity.mDrawerToggle.setDrawerIndicatorEnabled(true); 任何人都可以帮助我,

我有一个片段a,其中加载了另一个片段B。在片段a操作栏中,我有一个汉堡包菜单,当我移动到片段B时,它应该被更改为后退菜单按钮。加载后退按钮时,菜单的功能应从加载抽屉布局的汉堡菜单更改为加载上一个片段(即片段B)的后退按钮菜单。我可以将菜单的图标从汉堡更改为后退按钮,但当加载“后退”按钮时,我无法更改图标的功能

我正在通过以下代码更改片段B中操作栏中的按钮

MainActivity.mDrawerToggle.setDrawerIndicatorEnabled(true);

任何人都可以帮助我,建议在加载片段B时更改菜单按钮的功能,并将返回按钮的图标和功能重置为汉堡包菜单,导航回片段a

您可以设置用于导航的侦听器单击

toolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //add here the action you need
                //example call on back pressed of activity or call 
                getSupportFragmentManager().popBackStack();
                onBackPressed(); 

            }
        });

更改图标时,请使用
getSupportFragmentManager().popBackStack()如果当前图标为后退按钮

并在
NavigationOnClickListener中使用以下逻辑

if(condition for changing the icon) //for eg : check for current fragment is home or not
{ 
   getSupportFragmentManager().popBackStack();
   mDrawer.closeDrawers();
}

希望这对你有用。愉快的编码

您是否尝试过DroperLayout.post(新的Runnable(){@Override public void run(){DroperToggle.syncState();getSupportActionBar().setHomeAsUpIndicator(R.drawable.menu_white);});您可以检查片段是否在堆栈中,然后像getSupportFragmentManager()一样删除它;