我在我的android活動中有一個ListView。我通過子類BaseAdaptor填充ListView(它在getView()方法中返回一個View)。如果我更改ListItem的內容,刷新ListView
如果在列表中的項目視圖按鈕我點擊收聽,我
- 變化TextView的列表中的項目視圖中的文本 或
- 改變列表項視圖的尺寸通過添加/刪除列表項視圖的子項
什麼是刷新我的listView有效嗎?我不希望listView重新觸發查詢,因爲沒有數據更改。
謝謝。
我在我的android活動中有一個ListView。我通過子類BaseAdaptor填充ListView(它在getView()方法中返回一個View)。如果我更改ListItem的內容,刷新ListView
如果在列表中的項目視圖按鈕我點擊收聽,我
什麼是刷新我的listView有效嗎?我不希望listView重新觸發查詢,因爲沒有數據更改。
謝謝。
如果你只是改變你的兒童視圖的內容,你沒有比TextView.setText(newText)
更多的事情要做。
如果您改變的ListView兒童的數量,你必須調用BaseAdaptor.notifyDataSetChanged()
我正要建議你invalidate()
,但你不想觸發重繪,所以我只能建議一些全球國旗的形式是你最好的選擇。設置標誌,無效或重繪和查詢(和重置)OnDraw中的標誌()
我只是不想觸發重新查詢。但是當你說invalidate()時,你談到了無效()ListView()或列表項的視圖?此外,我不能在我的OnClickListener()中調用invalidate()。是不是Android防止在非UI線程中更新UI? – michael 2010-03-16 16:19:10
我不'改變ListView的計數。我只是改變ListView項目1中ViewGroup的子項數。 – michael 2010-03-16 16:17:30