我正在尝试在具有 3 个片段的活动上实现 onBackPressed。我的问题是我在一段时间后实现了“再次按下退出”,但是当单击后退按钮两次时,它返回到上一个片段,而不是退出。当调用该片段时会发生这种情况(即,如果我打开游戏并立即退出,它就像一个魅力一样)。我在 MainActivity 上的 onBackPressed 方法如下所示;
@Override
public void onBackPressed() {
if(getSupportFragmentManager().getBackStackEntryCount()!=0) {
getSupportFragmentManager().popBackStack();
}
this.findViewById(R.id.linearLayout1).setVisibility(View.VISIBLE);
if(mBackPressed + TIME_INTERVAL > System.currentTimeMillis() && getSupportFragmentManager().getBackStackEntryCount()==0){
super.onBackPressed();
System.exit(0);
this.finish();
}
else { Toast.makeText(getBaseContext(), "Press back once more to exit", Toast.LENGTH_SHORT).show(); }
mBackPressed = System.currentTimeMillis();
}
我基本上想检查用户是否在 mainActivity 布局中,这样我就可以避免使用 popBackStack。任何解决方案将不胜感激,如果这还不够,我可以提供更多信息。
谢谢,贝克塔斯