我对Android上的物理后退按钮有疑问/问题。 我想允许使用后退按钮,但只允许来自活动#2,这是一个片段,从那里我只希望它允许后退按钮返回到前一个片段。
这是我的布局/工作流程:
(#1)活动 - > (#2)FragmentActivity - > (#3)ListFragment - > (#4)片段
当FragmentActivity(#2)没有禁用onBackPressed方法时,在fragmentActivity将应用程序返回到Activity(#1)而不是之前的片段后,将后退按钮推回到任何位置。
所以问题是,如何仅从FragmentActivity(#2)启用onBackPressed并仅返回同一选项卡中的上一个片段?
谢谢。
答案 0 :(得分:1)
不确定这会有效但是试试这个:
@Override
public void onBackPressed() {
FragmentManager fm = getSupportFragmentManager();
Log.d("length out", "" + fm.getBackStackEntryCount());
if (fm.getBackStackEntryCount() > 2) {
//do nothing you are on other fragments according to your work flow
} else {
// you are in your activity two or one so pop the fragment
fm.popBackStack();
}
}