【发布时间】:2014-10-02 23:11:06
【问题描述】:
我有一个基于 Android 文档中的example 的导航抽屉。
当您打开导航抽屉时,它会在抽屉内显示一个MainMenuFragment。当您选择一个菜单项时,它会将抽屉内的片段替换为SubMenuFragment。这对后退按钮很有效。
按下后退按钮总是会关闭抽屉,但我想在显示SubMenuFragment 时使用后退按钮在抽屉中显示MainMenuFragment。您如何处理导航抽屉内的后退按钮来替换抽屉内显示的片段。
替换抽屉内的片段不是这里的问题。我不知道如何阻止后退按钮关闭抽屉并让它显示MainMenuFragment。
我的主要活动 XML(缩短):
<android.support.v4.widget.DrawerLayout ....>
<FrameLayout android:id="@+id/container" .../>
<FrameLayout android:id="@+id/drawer" android:layout_gravity="start" .../>
</android.support.v4.widget.DrawerLayout>
以及我班级的相关部分:
public class MainActivity extends Activity {
...
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getFragmentManager().beginTransaction()
.replace(R.id.drawer, new MainMenuFragment()).commit();
// setup DrawerLayout and ActionBarDrawerToggle
...
}
private void showSubMenu() {
getFragmentManager().beginTransaction()
.replace(R.id.drawer, new SubMenuFragment()).commit();
}
}
【问题讨论】: