2012-09-12 49 views
0

美好的一天,什麼是更新ListView的最佳方式?

我在Android中製作我的測試應用程序,並發現我自己要做的一些難題。

我有兩個選項卡片段和主機活動(創建兩個選項卡片段)與操作欄(actionbarsherlock)。 One Fragment允許添加一些關於產品的信息並將其保存到SQLite中。其他片段有一個列表視圖,顯示來自數據庫的所有產品。

問題是,在第一個選項卡中,我將數據保留在具有5秒延遲的不同線程中,因此您單擊「添加產品到數據庫」按鈕,5秒後它將被添加。但是,點擊後我可以切換到另一個列表視圖和情況如下:從第一個片段的數據不會因爲延遲而被保留,但是在它被保留後,在listview中沒有任何變化 - 列表視圖不知道變化。當它發現數據庫中存在更改時,我需要更新authmatically的listview。我怎樣才能做到這一點?我使用ArrayAdapter將數據填充到listview中。

+1

所以寫'ContentProvider'而不是'ArrayAdapter'使用'CursorAdapter' ...來獲得填充'CursorProvider'使用'CursorLoader'如果你建立了正確的'ContentProvider'刷新'ListView'已經在'CursorAdapter'中實現了。 .. – Selvin

回答

0

我想你需要使用廣播接收器,並在其中調用方法refreshDrawableState()爲你列出。分別接收者是你的活動。

相關問題