不要在按下返回键时取消活动

时间:2019-01-02 11:23:38

标签: android android-activity

我有两个活动A和B。

  1. 启动活动A。
  2. 开始的活动A --->活动B
  3. 在Backey上按下,活动B正在销毁并导航到A。

我不想破坏活动B,当我再次从A导航到B时,请保持堆栈状态以重用同一活动。

实际: 活动B正在oncreate的webview中加载URL,每次创建并重新加载URL。

预期: 它应该通过不创建来启动活动A到活动B,并且不应再次重新加载。

3 个答案:

答案 0 :(得分:0)

@Override
public void onBackPressed() {
  moveTaskToBack(true);
}

它将把您的活动移至Stack,并在您返回时保留在那里。 有关更多详细信息,请查看here

答案 1 :(得分:0)

尝试此解决方案

@Override
public void onBackPressed() {
this.startActivity(new Intent(YourActivity.this,ActivityA.class));  
}

覆盖ActivityB中的onBackPressed(),然后启动活动A

答案 2 :(得分:0)

在活动B中,以下代码不会破坏活动B并导航至A

@Override
public void onBackPressed() {
this.startActivity(new Intent(ActivityB.this,ActivityA.class));  
}

从活动A导航到B,将以下标志设置为Intent,这将不会重新创建活动。

setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT) 

谢谢。