1

我該如何添加一個計時器listview的每個項目?我想要兩秒鐘後該行消失。該列表僅包含字符串如何在幾秒鐘後刪除列表視圖項目?

我目前在我的適配器中有一個處理程序,其中包含 handler.postDelayed(new UpdateTimerTask(),2000);

裏面的getView方法。

該任務實現了一個Runnable,它應該從列表中刪除一個項目並調用notifyDataSetChanged()。

但是我不能用位置調用remove,因爲元素在我的情況中不斷添加在頂部。字符串也可以是相同的,因此我不能通過名稱刪除。

任何想法??

+0

你可以發佈你的代碼? –

回答

0

您需要爲列表項目使用自定義模型,例如StringItem,它具有用於存儲文本的String字段和等於System.currentTimeMillis()(在創建時)以跟蹤其生存期的整數。 現在,像每100毫秒的間隔小做了清理名單上的基礎上,System.currentTimeMillis()電流值,並在列表中的每一個項目的生命週期ID

+0

輝煌。我用一個hashmap代替。 – sr09

1

如果在列表中的項目有穩定的IDS可以遍歷該適配器使用getItemId(int position),然後使用正確的ID刪除該項目。否則,您需要跟蹤頂部添加了多少物品以抵消正確的位置。因此,您可以在UpdateTimerTask中存儲創建時列表中項目的總數。當火災發生時,從列表中的物品總數中減去,並且應該有物品的位置。