我的片段转换非常奇怪。我试图在按下后退按钮时打开新片段:
//removed code
然后,当我在家里片段,没有我再次按下它,它将关闭应用程序:
// removed code
我不明白为什么从一个片段切换到另一个片段共享相同的onKey?因为它不应该是这样的行为:我在片段2中按下,打开主片段,在主片段中我再次按下,然后它关闭应用程序。
目前它的工作方式如下:片段2反压,打开主片段,没有触及任何东西,它进入主片段中的onKey。
有什么想法吗?提前谢谢。
答案 0 :(得分:-1)
删除结束通话" getActivity()。finish();"然后试试......
v.setFocusableInTouchMode(true);
v.requestFocus();
v.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if( keyCode == KeyEvent.KEYCODE_BACK ) {
getActivity().moveTaskToBack(true);
return true;
} else {
return false;
}
}
});
如果没有,请尝试其他解决方案...在父活动中添加此方法。
@Override
public void onBackPressed() {
FragmentManager fragmentmanager = getSupportFragmentManager();
if(fragmentmanager.getBackStackEntryCount() > 0){
fragmentmanager.popBackStack();
} else{
finish();
}
}