【发布时间】:2018-01-12 20:39:36
【问题描述】:
我有一个只有一个活动但有 3 个片段的应用。
现在我找到了一种方法(Youtube 视频),可以在点击手机上的后退按钮后停止应用完全退出。
boolean twice = false;
@Override
public void onBackPressed() {
Log.d(TAG, "click");
if(twice == true){
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
System.exit(0);
}
twice = true;
Log.d(TAG, "twice: " + twice);
// super.onBackPressed();
Toast.makeText(MainActivity.this, "Tap twice to exit", Toast.LENGTH_SHORT).show();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
twice = false;
Log.d(TAG, "twice: " + twice);
}
}, 2000);
}
另一个线程显示使用后退按钮在片段之间“导航”的代码 How to implement onBackPressed() in Fragments?
这是代码
@Override
public void onBackPressed() {
int count = getFragmentManager().getBackStackEntryCount();
if (count == 0) {
super.onBackPressed();
//additional code
} else {
getFragmentManager().popBackStack();
}
}
当我在第一个代码行下添加时,应用程序在点击手机上的后退按钮后退出完成。有人能告诉我在哪里添加第二个代码行,这样两个东西都可以工作吗?
提前非常感谢
【问题讨论】:
标签: android android-fragments onbackpressed