【发布时间】:2013-09-22 15:40:33
【问题描述】:
我有一个 ActionBar 活动。在这个活动中,我从 Android API 实现了导航抽屉。
导航抽屉的一个选项设置一个 ListFragment,其中包含一些元素。
当我单击某些元素时,我想创建一个新片段并将之前的 ListFragment 设置到堆栈中。我也想通过单击 ActionBar 主页按钮来销毁这个新片段,以便返回到之前的 ListFragment。
我的问题来了:当我点击操作栏的主页按钮时,显示抽屉布局,而不是破坏片段......我该怎么办?
我在片段中重写了 onOptionsItemSelected 方法:
@Override
public boolean onOptionsItemSelected(MenuItem menuItem) {
switch (menuItem.getItemId()) {
case android.R.id.home:
getFragmentManager()
.popBackStack();
}
return (super.onOptionsItemSelected(menuItem));
}
在 Inflating 新片段时,我还设置了 ListFragment 到 backstack:
getFragmentManager()
.beginTransaction()
.setCustomAnimations(android.R.anim.slide_in_left, android.R.anim.slide_out_right)
.replace(R.id.activity_main_fragment_container, fragment)
.addToBackStack(null)
.commit();
【问题讨论】:
-
你在使用
ActionBarDrawerToggle吗? -
@ana 01 是的,当然
标签: android fragment navigation-drawer android-actionbar-compat