我有4项活动。其中两个用于登录/注册。成功登录后,用户移动到活动室,用户可以选择聊天室。然后,他可以按下并选择另一个房间在两个/多个房间聊天。现在我不想完成聊天活动。当用户在房间活动中按下(两次)时,整个应用程序应该完成。
但是,由于它丢失了数据,而不是完成它启动聊天活动引发错误。现在我该怎样才能做到这一点。 聊天活动是从customadapter启动的,它使用标记重新排序在前台启动后台活动。
更新
我不想在背部新闻上完成我的聊天活动。我知道如何完成()工作。我想要清理堆叠并退出房间活动的背景。
建议: 不要教我如何通过调用完成或如何退出双重回退来完成活动。如果你没有足够的关于标志的知识,那么就没有必要用垃圾加载StackOverflow。
答案 0 :(得分:0)
尝试这样:
boolean doubleBackToExitPressedOnce = false;
@Override
public void onBackPressed() {
if (doubleBackToExitPressedOnce) {
super.onBackPressed();
return;
}
this.doubleBackToExitPressedOnce = true;
Toast.makeText(this, "Please click BACK again to exit", Toast.LENGTH_SHORT).show();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
doubleBackToExitPressedOnce=false;
}
}, 2000);
}
答案 1 :(得分:0)
您应该尝试清除该特定任务的活动堆栈。所以在开火之前这样做startActivity
yourIntent.setFlag(Intent.FLAG_ACTIVITY_CLEAR_TOP)
答案 2 :(得分:0)
你可能没有完成你的活动,所以在后退时再次调用它,所以在通过调用finish()方法开始聊天室活动之前完成上一个活动。
如果你想在按下(两次)完成申请,那么你应该在聊天室活动中管理onBackPressed()方法的计数器。