我做了一個onTouchListener列表視圖,該列表視圖檢查列表中的哪個項目(字符串在我的案例中)被點擊並且它的位置。我想取出列表中的字符串,所以我創建了一個方法來獲取數組adter的字符串數組和列表被觸摸的poistion,並返回一個相同的新數組,但沒有被觸摸的字符串。現在我想更新列表視圖適配器到新的數組,我該怎麼做? 感謝通過它的onItemListener更改列表視圖
回答
你必須做的是通過BaseAdapter.notifyDatasetChanged集中的變化通知給陣列適配器。 這將刷新整個列表視圖。注意:這必須在主線程中調用。
編輯:
要清除一些混亂,你必須首先獲取從列表視圖適配器。這由calling myListView.getAdapter()完成。所以你可以做
myListView.getAdapter().notifyDatasetChanged()
好吧,所以我應該寫ListView.BaseAdapter ....或ArrayAdapter.BaseAdapter ... – Someonation 2012-01-04 15:55:45
你寫???。notifyDatasetChanged哪裏???是您給ListView的適配器對象。 – AedonEtLIRA 2012-01-04 15:56:55
好的謝謝,我不能從聽衆那裏做到這一點?那麼是否有一個更簡單的方法,然後通過一個變量或者需要調用這個方法的東西來「通知」這個lisetener的外部? – Someonation 2012-01-04 16:04:26
只需調用notifyDataSetChanged()適配器上重新裝入
如果你的意思只是寫在適配器就像你說過的那樣,那麼它給了我這個問題:方法notifyDataSetChanged()是未定義的類型新的AdapterView.OnItemClickListener(){ } – Someonation 2012-01-04 15:52:49
否否,您必須獲取您的ListView的適配器並調用notifyDatasetChanged。 – AedonEtLIRA 2012-01-04 15:55:54
你應該嘗試再次在你的適配器中設置數組。
listView.setAdapter(new YourAdapter(this, yourArray));
但需要在偵聽器外調用BaseAdapter.notifyDatasetChanged,所以方便性相同,但如果我的陣列非常大,則建議可以是laggi – Someonation 2012-01-04 16:14:40
每個適配器視圖只能有一個適配器。您將不得不從列表視圖中刪除舊的適配器併爲其分配一個新的適配器。總體而言,調用'notifyDataSetChanged()'的效率要低得多(而且耗時更多)。 – AedonEtLIRA 2012-01-04 16:17:13
- 1. 更改通過視圖
- 2. SharePoint 2010:通過按鈕或web部件更改列表視圖
- 3. 列表視圖更改
- 4. 通過編程更改ExpandableList視圖
- 5. 更改我的列表視圖的textview
- 6. 更改列表視圖行的顏色
- 7. 更改css相同的列表視圖
- 8. 如何更改/更新列表視圖的單個列表項?
- 9. 更改選項卡時的過濾器列表視圖
- 10. 在列表視圖中更改片段
- 11. 通過'列表'模型進出視圖
- 12. 如何通過適配器更新列表視圖項目
- 13. 如何通過JSON實時更新到列表視圖
- 14. 通過django視圖上的字典更改圖像
- 15. 如何更改列表視圖中列表項的顏色
- 16. 更改列視圖DataGridView
- 17. 通過Javascript更改圖像?
- 18. 更改不保存在Django管理更改列表視圖
- 19. 列表視圖數據更改根據日期更改
- 20. 如何更改列表視圖的現有圖像列表的圖像大小
- 21. 將文本視圖更改爲列表視圖
- 22. 當在列表視圖onClick時更改行內容視圖
- 23. 更改一個列表視圖風格會影響其他列表視圖也
- 24. 替換服務上的列表,並在視圖中查看它的更改
- 25. 無法更改我的列表視圖中的圖像源
- 26. 設置圖層列表的視圖的通過碼
- 27. Angular 2 Post更新我的列表,但不更改視圖
- 28. 更新列表視圖細胞/項,它們的指數可能會改變
- 29. 如何更改列表視圖中列的寬度是SharePoint?
- 30. Jquerymobile UI:如何更改列表視圖中的圖像大小
你想要什麼? – 2012-01-04 15:49:15
我沒有看到問號。你在問一個問題嗎? – adneal 2012-01-04 15:50:50
大聲笑,我改變它更清楚 – Someonation 2012-01-04 15:56:49