我们如何清除Android中以前活动的所有数据

时间:2016-10-17 22:33:36

标签: android android-activity

我只想清除Previous Activity的所有数据。意味着当我回到之前的活动时,它需要再次调用所有asyncatsk作为一个全新的活动。 因为当我进入下一个活动时,我正在对数据序列进行一些更改,但我会回来,我需要为原始数据调用agin asynctask

所以任何人都有这个想法?

是的,我只想澄清下面的功能不起作用

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

2 个答案:

答案 0 :(得分:0)

如果您想以任何方式重新初始化活动,只需在onResume()中重置所需的值即可。

如果那不是你想要的,请澄清你的问题。

答案 1 :(得分:0)

根据您的具体情况,有几种选择。

首先,您可以尝试清除savedInstanceState,如下所示:

public void onCreate(Bundle savedInstanceState){
    super.onCreate(null);
}

或者像这样:

protected void onSaveInstanceState(Bundle outState) {
   super.onSaveInstanceState(outState);
   outState.clear();
}

其次,如果你希望在"反向压制"事件, 您可以覆盖onBackPressed以创建活动的新实例,而不是默认返回具有已保存状态的活动。

@Override
public void onBackPressed(){
    //super.onBackPressed(); // EXCLUDE this line
    Intent intent = new Intent(this,TheNextActivity.class);
    startActivity(intent);
}

@iguarna的答案也值得一试,这完全取决于具体情况以及你希望完成的事情