我使用Mike Penz的MaterialDrawer
,我遇到了问题。
我有Activity (AppCompat)
和 3 Fragmnts 。 Activity
包含所有fragments
。
在fragment
2和3中,我在button
OnCreate
((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();
}
fragment
上有效click
2和3 Back Button
导致Drawer
& {
如何通过按下按钮Drawer
来禁用2 {3} fragment
中的通话Back
?
当我使用标准Drawer
我的主题为ActionBar
时,没有这样的问题。
UPD 我需要点击工具栏中的切换后退按钮,没有智能手机实体按钮
答案 0 :(得分:1)
更改
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();
}
你很高兴