2012-07-25 100 views
0

我試圖在數據發生變化時重新加載列表視圖。但它不工作。這裏是我正在使用的代碼刷新Android列表視圖

localPits.clear();// 
this.adapter.clear(); 
//Fetch new data and update the list 
this.localPits.addAll(pl); 
this.adapter.notifyDataSetChanged(); 
this.lst_Pits.invalidate(); 

每次我調用這部分代碼現有的值都被成功刪除。但新值不會在列表視圖中加載。

我該如何在android中做到這一點? 謝謝

+0

確實調用了Adapter的.getView()(如果它是您的自定義實現)? – Alehar 2012-07-25 13:07:18

回答

0

這不是非常清楚,但我懷疑新的值沒有被加載,因爲你正在清理適配器而不更新它。

您的第2行:this.adapter.clear();

你需要更新你打電話invalidate()前添加適配器。或者,至少,就我所能得到的那樣。

0

this.adapter.clear();應該不需要。它必須重置adapterlocalPits之間的鏈接。

如果你需要保留這個,更新列表適配器localPits.setAdapter(adapter);。它應該解決你的問題。

+0

感謝您的回覆。如果我不清除列表視圖仍然相同。此外,我試圖更新適配器,如你所說,但沒有成功。 – Zach 2012-07-25 13:21:09

+0

'adapter'是一個ListAdapter或一個自定義類? – Hartok 2012-07-25 13:29:23

+0

其自定義類 – Zach 2012-07-25 13:32:04