2013-05-08 59 views
1

我正在爲我的程序開發一個好友列表。我現在所擁有的服務器發送給我的所有用戶都是ListView。我顯示姓名和聯繫地址。我還需要顯示用戶是實時在線還是離線。更改Android中聯繫人應用的好友狀態

當我第一次填充ListView時,我有一個ArrayList與所有用戶及其狀態,所以我可以顯示他們的所有信息。我的問題出現在用戶上下線時。他們仍然在名單上,但他們的地位必須改變。

我一直在尋找網絡上的解決方案。我發現我應該先清除ArrayList,然後使ListView無效重繪,然後向ArrayList添加新數據,然後通知我的適配器再次用adapter.notifyDataSetChanged()填充ListView

我認爲這可能是一個緩慢的解決方案,因爲我可以有1000個聯繫人,他們可以頻繁更改狀態。

有沒有其他的解決方案呢?

在此先感謝。

回答

0

我有一個ArrayList<Contact>其中Contact是一個自定義類,它具有聯繫私人蔘數(名稱,URI和狀態)。當用戶更改其狀態時,我會在數組中搜索並更改其狀態。

然後,我將新的ArrayList<Contact>傳遞給我的自定義BaseAdapter,然後執行adapter.notifyDataSetChanged()。首先不需要使ListView無效。