2011-12-26 72 views
-1

我想清除屏幕上的列表視圖項目時,按全部清除按鈕。所以我使用了函數m_adapter.clear();它正在清除屏幕上的項目。但是當我退出後再次回到應用程序時,這些意見再次回來。我需要永久清除它們。有人可以幫我解決這個問題嗎?想永久清除listview項目嗎?

代碼片段如下:

case R.id.deleteAll:{ 
     m_adapter.clear(); 
      } 
+0

**但是當我退出後再次回到應用程序時**意味着您是否再次重新打開該應用程序? – 2011-12-26 08:33:22

+0

如果是,則將在默認活動中調用onCreate(),它將再次創建所有視圖。然後你會得到所有的列表項。無論你明確什麼,都只適用於當前正在運行的進程。如果您重新打開它,則會再次創建新的進程。請檢查一下。 – 2011-12-26 08:37:43

+0

是的,這是正確的。那麼我應該怎麼做才能避免這個問題呢?我對這個編程很新,請幫我解決這個問題。 – jyotiprakash 2011-12-26 08:57:09

回答

0

如果你真的想刪除並永久清除你的listview,你的adapter.clear()將不起作用。

此方法的實際含義是清除您的列表視圖,而不是listview項目。

你實際上必須做的是從你用來填充列表視圖的數組中刪除所有元素。

因此,這是確保您的列表視圖不會加載數據的唯一方法,即使在回到您的活動中並退出時也是如此。

如果沒有,您每次進入活動時都必須打電話給clear(),這樣看起來就好像沒有數據存在一樣。

0

你需要清除的ListView數據源,然後刷新列表視圖。這樣,當您重新打開活動時,數據將不會重新顯示,因爲它不再存在。

EG。如果從數據庫填充列表視圖,請從數據庫中刪除數據,然後刷新列表視圖。