2016-10-17 31 views
0

我只想清除以前活動的所有數據。意味着當我回到以前的活動時,需要再次調用所有asyncatsk作爲新的活動。 因爲當我在下一個活動中進行時,我正在做數據序列的一些更改,但我會回來,我需要將原始數據稱爲agin asynctask我們如何才能清除Android上一次活動的所有數據

因此,任何人都有想法嗎?

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

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

你的意思是按向上或後退按鈕回到你的活動時?請澄清情況 – iguarna

回答

0

如果你想,當你回來將它重新初始化以任何方式您的活動,只是重置你想要的值的onResume()。

如果這不是你正在尋找的,請澄清你的問題。

0

根據您的情況有幾個選項。

首先,你可以嘗試清除savedInstanceState這樣的:

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

或者這樣:

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

其次,如果你希望有這種專門的 「backpressed」 事件, 您可以重寫onBackPressed來創建活動的新實例,而不是使用其保存狀態返回活動的默認值。

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

@iguarna的回答也是一些嘗試,這一切都取決於形勢和你希望怎樣完成

相關問題