我有一個ListView,一個ArrayList。從活動1中,我傳遞一些數據,例如公司的價格和名稱。這些數據將存儲在哈希表的ArrayList中。當我第一次將一些數據傳遞給包含ListView的第二個活動時,將在該列表中找到數據,但是當我回到第一個活動並再次傳遞一些信息時,舊數據仍將位於列表中。有沒有任何可能的方法可以防止這種情況發生?例如,當我從activity2返回到activity1時,ListView將被擦除。清理數據的列表視圖
謝謝!
我有一個ListView,一個ArrayList。從活動1中,我傳遞一些數據,例如公司的價格和名稱。這些數據將存儲在哈希表的ArrayList中。當我第一次將一些數據傳遞給包含ListView的第二個活動時,將在該列表中找到數據,但是當我回到第一個活動並再次傳遞一些信息時,舊數據仍將位於列表中。有沒有任何可能的方法可以防止這種情況發生?例如,當我從activity2返回到activity1時,ListView將被擦除。清理數據的列表視圖
謝謝!
你需要做什麼: 在其持有的ListView活動 - 覆蓋的onResume()方法:
@Override
protected void onResume() {
super.onResume();
mArrayList.clear();
mAdapter.notifyDataSetChanged();
}
如果不是很好的爲你清除數組列表,這樣你就可以做如下:
@Override
protected void onResume() {
super.onResume();
mListView.removeAllViews();
}
謝謝!這工作,除了我不得不改變方法onDestory(),否則列表不會顯示任何內容。 – 2012-04-10 15:49:09
歡迎你。我總是很樂意提供幫助。 – 2012-04-10 20:55:18
這很奇怪。當你回到第一個活動時,第二個活動應該和任何數據一起銷燬。除了靜態變量。你應該從你的兩個活動中發佈相關的代碼。 – dmon 2012-04-10 15:22:49
我應該說我沒有任何onStart()或onDestory()方法。 – 2012-04-10 15:29:55
沒關係。 – dmon 2012-04-10 15:35:16