我一直在ListView對象上使用ArrayListAdapter。我想知道是否有一種簡單的方法來爲每個listview項目存儲一些額外的數據作爲標籤對象。Android的ListView和標籤
3
A
回答
9
通常您使用字符串數組或列表作爲數組列表的數據,並且適配器方法getItem(position)
將返回相應的字符串。
但是,您可以使用任何對象數組或列表作爲輸入,因此將任何數據作爲列表項傳遞。例如:
class MyListItem {
private int mId;
private Object mData;
private String mListItemName;
public MyListItem(int id, Object data, String name) {
mId = id;
mData = data;
mListItemName = name;
}
@Override
public String toString() {
return mListItemName;
}
}
可以傳遞的MyListItem
數組的數組適配器,它將使用toString()
以獲取項目的名稱。您可以使用(MyListItem) adapter.getItem(position)
獲取項目數據。
1
關於支持過濾的列表適配器的注意事項。將onItemClick()
提供的位置值與關聯數組的索引進行邏輯關聯很容易。但是,這樣做會導致列表過濾時出現問題。
案例:過濾的SimpleAdapter。未經過濾的,onItemClick()
提供了ListView中項目的位置以及與ListView關聯的數組中項目的位置。篩選後,onItemClick
提供了項目在顯示列表中的位置,但不再匹配相關數組中項目的索引。然而,getItemAtPosition()
使用位置值從關聯數組中檢索正確的項目。 getItemAtPosition()
也在CursorAdapter中提供了正確的記錄。
相關問題
- 1. Android SeekBar在ListView中使用標籤
- 2. 如何添加ListView和標籤欄在Android的
- 3. 關於Android光標和ListView
- 4. Android:使用editText和自定義標籤從listView中搜索
- 5. Android的ListView標題
- 6. 安卓:ListView和標籤視圖
- 7. 如何顯示在標籤&和ListView
- 8. Android ListView標題
- 9. ListView和ListView標題
- 10. 標籤和片段android eclipse
- 11. Android FragmentActivity和標籤問題
- 12. Android ICS教程和標籤
- 13. Android操作欄和標籤
- 14. Android PagerSlidingTabStrip標籤頁和webview
- 15. 在ListView上使用標籤
- 16. Android的ListView和SearchActivity
- 17. Android中的Listview標題
- 18. Android的ListView SectionIndexer與光標
- 19. JSON Android和Listview
- 20. Android ViewFlipper和ListView
- 21. NullPointerException和Android ListView
- 22. Android Listview和textWatcher
- 23. android - ListActivity和ListView
- 24. Android ListView和EditText
- 25. Android ListView:添加不可點擊的標籤
- 26. 刷新標籤頁上的ListView更改/滑動(Android)
- 27. Android的ListView控件 - 多<Selector>標籤
- 28. Android中的頂部標籤,底部標籤和動作條標籤
- 29. Android:使用不同的標籤和標籤狀態視圖
- 30. 的Android ViewPager,標籤和碎片
這是對這個問題的一個很好的回答,並且讓我想起嘗試設計最正確的解決方案時總會出現的真實設計。還有其他的解決方法,但這是正確的方法。謝謝。 – raddevus
哦,男孩,這個答案值得至少500 upvotes! – Dave