我使用来自Mike的MaterialDrawer和我面临的问题。我有Activity (AppCompat)和3 FragmntsActivity包含所有fragments。在fragment 2和3中,我在OnCreate中启用了Back button
((AppCompatActivity)getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true); 在Activity中
@Override
public void onBackPressed() {
if (drawer.isDrawerOpen())
drawer.closeDrawer();
if (getFragmentManager().getBackStackEntryCount() == 1) {
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
drawer.getActionBarDrawerToggle().syncState();
getFragmentManager().popBackStack();
} else if (getFragmentManager().getBackStackEntryCount() > 0)
getFragmentManager().popBackStack();
else
super.onBackPressed();
}当active fragment 2和3 click在Back Button上导致打开Drawer时&如何通过按下Back按钮来禁用2和3 fragment中的调用Drawer?
当我使用标准的Drawer时,我在ActionBar中有一个主题,没有这样的问题。
UPD我需要点击工具栏中的按钮,没有智能手机的物理按钮
发布于 2016-05-07 12:00:59
变化
if (drawer.isDrawerOpen())
drawer.closeDrawer();
if (getFragmentManager().getBackStackEntryCount() == 1) {
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
drawer.getActionBarDrawerToggle().syncState();
getFragmentManager().popBackStack();
}至
if (drawer.isDrawerOpen())
drawer.closeDrawer();
else if (getFragmentManager().getBackStackEntryCount() == 1) {
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
drawer.getActionBarDrawerToggle().syncState();
getFragmentManager().popBackStack();
}你可以走了
https://stackoverflow.com/questions/37087761
复制相似问题