我是Android編程的新手,我陷入了兩天似乎無法解決的困境。
我有一個ListActivity應該填充兩個不同的視圖幾乎沒有simulateity。直到現在我已經使用了MergeAdapter,它運行良好,但我的結果是這樣的: Adapter1,Adapter2。而且我沒有能力更改列表中項目的順序。 我的問題是:是否有可能創建一個適配器,其中包含兩個視圖的項目而不是兩個視圖的適配器,因此我將按照輸入它們的方式對我的項目進行排序? 爲了簡單起見,我得到了這兩個項目的ArrayList,每個都有「int position」,所以我可以將它們插入按位置排序的列表中。
編輯:我試過擴展BaseAdapter,但我再次需要兩個適配器,因爲我在線閱讀,但如果我這樣做,我將無法控制列表中的項目的位置。 我希望我這次更清楚。 歡迎任何迴應。
謝謝。Android - 帶有兩個視圖項目的ListView適配器
回答
你也可以繼承BaseAdapter和利用以下方法:
getViewTypeCount()
應該回到你的適配器支持不同的行類型的數量。 getItemViewType()
是你實現哪個視圖類型的特定行應該具有的「決定」。如果,例如,getViewTypeCount()
返回圖3,然後getItemViewType()
方法應返回0,1,或2。
可以使用此getView的內部膨脹/創建用於不同行類型不同的佈局。
編輯:
因爲它是一個自定義適配器,可以實現它在任何有意義的方式爲您的數據。如果您可以創建一個適合您需要的數據結構,那麼只需使適配器能夠使用它即可。在最壞的情況下,你可能只需要一個對象數組(或列表),並且必須使用instanceof
來做決定工作。
你能解釋一下嗎?正如我所說我有兩個意見。 item1.xml和item2.xml。我可以做什麼以便在一個列表中使用它們,同時可以選擇控制位置? – user2558461
你實現了getviewtypecount返回兩個。在getItemViewType中,您爲項目1返回0,爲項目2返回1。那麼你可以實現getView而不必擔心在兩種類型之間轉換。這就是它所有 – nickmartens1980
它的工作!我擴展了BaseAdapter並使用instanceof來做出決定。非常感謝! – user2558461
- 1. 正在更新android listView適配器的項目視圖
- 2. 帶有兩個ArrayList的Android ListView適配器
- 3. 帶有大量項目的ListView和適配器
- 4. Swipe Tabs - 帶有列表視圖和適配器的兩個選項卡
- 5. 帶適配器的列表視圖android
- 6. 帶有兩個視圖的ListView
- 7. 帶有適配器的Android ListView,用於突出顯示所選項目行
- 8. 選擇一個項目內的列表視圖適配器android
- 9. 帶有多個選擇和自定義適配器的Android ListView
- 10. 帶圖像適配器的ListView
- 11. Android的ListView適配器顯示最後一個項目點擊
- 12. 帶有HashMap的ListView適配器
- 13. 如何共享具有兩個回收站視圖的適配器項目?
- 14. 帶有靜態項目/無適配器的Android ExpandableList
- 15. Android,ListView適配器
- 16. Listview android適配器
- 17. 機器人 - ListView和適配器沒有顯示任何項目:(
- 18. Android - 帶有特定ID的ListView項目
- 19. Android ListView保存項onClick在適配器
- 20. Android的ListView和適配器
- 21. Android將行添加到帶有自定義適配器的ListView
- 22. 帶有自定義適配器的Android ListView -getChildAt()返回null
- 23. 的ListView帶適配器的困境
- 24. 帶有標題視圖的Android ListView
- 25. Android的兩個列表視圖和適配器
- 26. 的Android的ListView適配器視圖空指針異常
- 27. ListView視圖中的Android UI項目
- 28. 的ListView適配器與多個可點擊項目
- 29. 帶過濾器的自定義列表視圖適配器Android
- 30. 帶動畫的Android Recycler視圖適配器篩選器
是的,您可以擴展'BaseAdapter'來創建您自己的自定義適配器,重寫'getView()'並在其中執行所有的技巧。 –