我有一個ListView問題,它可以回收屏幕上可見的視圖。 我的ListView中最多可以有4個項目,它們都可以在屏幕上看到。 我更新ListAdapter使用的ArrayList中的對象的屬性後,我調用列表適配器的notifyDataSetChanged()方法。 這會導致ListView回收視圖並自行重畫它。 問題是,它正在以相反的順序進行回收。所以如果我在第一個ListView項目上有一個按鈕,它將在notifyDataSetChanged()之後的第二個列表視圖項目中。 我有getView更改convertView屬性,除了按鈕onTouchListener。
這是非常成問題的,如果我有一個按鈕,與觸摸事件(像PTT按鈕)一起使用。它可見一段時間,然後它變得不可見:-(。 1.爲什麼ListView回收在屏幕上可見的項目是這種正常行爲?爲什麼它以相反的順序? 2.我該怎麼做解決我的問題?在屏幕上可見的ListView回收視圖
3
A
回答
0
你應該爲getview()
方法提供代碼。並添加按鈕將項目可能導致當你不使用的添加按鈕,檢查問題。 而不是增加按鈕,你應該在所有項目按鈕,只是讓在你想要的特定位置可見不可見的按鈕 也可以在getview()
方法中檢查「null」是否爲創建convertview,如果它們不爲空,它將不會回收/創建視圖/項目
相關問題
- 1. Android ListView正在回收仍在屏幕上的項目
- 2. Android水平回收視圖在景觀上填充屏幕
- 3. 如何查看Espresso在屏幕外的視圖的可見性?
- 4. emulator-5554在屏幕上不可見?
- 5. 有沒有什麼辦法可以停止在android中回收listview視圖時,他們在屏幕上不可見
- 6. 更新屏幕上不可見的UITableViewController
- 7. Android,在屏幕上可見視圖的那一刻播放聲音
- 8. listView在滾動時回收視圖
- 9. CursorAdapter如何在ListView中回收視圖?
- 10. 在移動屏幕上獲取可移動屏幕上的可見部分(放大圖像),在HTML中
- 11. 屏幕截圖iOS:WebView上下文:全屏幕截圖,而不僅僅是可見的視口
- 12. 動畫約束導致子視圖佈局在屏幕上可見
- 13. 在新的可見行上應用最後一個隱藏視圖寬度的Listview回收站
- 14. 如何在視頻視圖中播放和暫停視頻時,listview的列表視圖在屏幕上完全可見
- 15. 使更多的一個卡片視圖在水平回收視圖中可見
- 16. 如何在主屏幕上放置一個始終可見的屏幕控制
- 17. Android - PageViewer視圖卡在屏幕上
- 18. contentView子視圖保持在屏幕上
- 19. 垂直回收站視圖上的水平回收站視圖
- 20. 使用回收視圖的Android textview可見性
- 21. 在屏幕上的滾動視圖中顯示視圖
- 22. 返回屏幕並更新視圖
- 23. Admob廣告橫幅屏幕上的可見性是否影響收入?
- 24. 與UIImageView的UIScrollView部分可見在屏幕上
- 25. 當窗體在屏幕上可見時觸發的事件
- 26. 確定iframe中的元素是否在屏幕上可見
- 27. iOS是我的UIView在屏幕上可見嗎?
- 28. WPF Datagrid:在屏幕上查找當前可見的列
- 29. 如何根據屏幕上的值使屏幕元素不可見/禁用?
- 30. Android ListView「回收」不存儲最初不可見的行
你能否從你的適配器添加一些代碼? –
這正是你應該從列表視圖框架期望的行爲,引用**谷歌Android工程師羅曼蓋伊**不保證將調用getView()'多少次,所以你不用擔心,也你需要確保你的'Listview'** **高度/寬度**不應該是'wrap_content'關於list view回收機制如何工作的更多細節請參考http://stackoverflow.com/a/14108676/1939564 –