Android 单次点击无法返回到以前的片段或活动
您好,按下back时,我正试图返回到我以前的Android 单次点击无法返回到以前的片段或活动,android,Android,您好,按下back时,我正试图返回到我以前的活动/片段。 假设我把我的主要片段作为主屏幕,从那里我进入一个活动。现在当我按下后退键。。它退出应用程序。。我要去主碎片。如何做到这一点?我需要回到医院 主要片段。就像正常的工作一样。但我不知道我在哪里犯了错误: 我的java代码在这里。。或者试试这个应用 活动的代码: @Override public boolean onOptionsItemSelected(MenuItem item) {
活动/片段。
假设我把我的主要片段作为主屏幕,从那里我进入一个活动。现在当我按下后退键。。它退出应用程序。。我要去主碎片。如何做到这一点?我需要回到医院
主要片段。就像正常的工作一样。但我不知道我在哪里犯了错误:
我的java代码在这里。。或者试试这个应用
活动的代码:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// handle arrow click here
if (item.getItemId() == android.R.id.home) {
finish(); // close this activity and return to preview activity (if there is any)
}
return super.onOptionsItemSelected(item);
}
@Override
public void onBackPressed() {
if (doubleBackToExitPressedOnce) {
super.onBackPressed();
return;
}
this.doubleBackToExitPressedOnce = true;
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
doubleBackToExitPressedOnce = false;
}
}, 1000);
}
以上是我的活动
中的代码。我不知道我的错误在哪里。我是否可能在选项ItemSelected
中出错?或者别的什么
finish()
是否需要像我在其他问题上发现的那样返回true?之前从一个活动向后按到另一个活动时,工作正常。。但当我使用碎片时,这是一个问题 我就是这么做的:
@Override
public void onBackPressed() {
FragmentManager mgr = getFragmentManager();
if (mgr.getBackStackEntryCount() > 0)
mgr.popBackStack();
else
super.onBackPressed();
}
您需要根据所需的“双击退出”行为对其进行一些调整。在使用此代码的地方添加完整的java代码。@重写公共布尔OnOptions ItemSelected(MenuItem item){if(item.getItemId()==android.R.id.home){finish();}返回super.OnOptions ItemSelected(item);}@Override public void onBackPressed(){if(doubleBackToExitPressedOnce){super.onBackPressed();return;}this.doubleBackToExitPressedOnce=true;new Handler().postDelayed(new Runnable(){@Override public void run(){doubleBackToExitPressedOnce=false;},1000);}此处@W4R10CK..done@W4R10CK..u是否尝试使用双击退出?只有在从“活动”到“片段”按“上一步”时,问题才会持续存在