片段中的 MaterialDrawer 后退按钮
MaterialDrawer back button in fragment
我使用 Mike Penz 的 MaterialDrawer
,我遇到了问题。
我有 Activity (AppCompat)
和 3 个片段。 Activity
包含所有 fragments
。
在 fragment
2 和 3 中,我在 OnCreate
中启用返回 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();
}
当激活 fragment
2 和 3 click
on the Back Button
导致打开 Drawer
&
如何通过按下按钮 Back
来禁用 2 和 3 fragment
中的调用 Drawer
?
当我使用标准Drawer
时,我有一个主题ActionBar
,没有这样的问题。
UPD 我需要点击工具栏中的切换后退按钮,没有智能手机物理按钮
改变
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();
}
一切顺利
我使用 Mike Penz 的 MaterialDrawer
,我遇到了问题。
我有 Activity (AppCompat)
和 3 个片段。 Activity
包含所有 fragments
。
在 fragment
2 和 3 中,我在 OnCreate
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();
}
当激活 fragment
2 和 3 click
on the Back Button
导致打开 Drawer
&
如何通过按下按钮 Back
来禁用 2 和 3 fragment
中的调用 Drawer
?
当我使用标准Drawer
时,我有一个主题ActionBar
,没有这样的问题。
UPD 我需要点击工具栏中的切换后退按钮,没有智能手机物理按钮
改变
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();
}
一切顺利