我一直在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 ICS教程和标签
- 5. Android FragmentActivity和标签问题
- 6. 标签和片段android eclipse
- 7. 在ListView上使用标签
- 8. Android的ListView和SearchActivity
- 9. android - ListActivity和ListView
- 10. Android Listview和textWatcher
- 11. 刷新标签页上的ListView更改/滑动(Android)
- 12. Android的ListView控件 - 多<Selector>标签
- 13. 标签布局和Android中的按钮
- 14. 的Android ActionBarActivity和谷歌地图标签
- 15. ListView上的TabActivity,隐藏标签
- 16. 乱在ListView中的标签(安卓)
- 17. 的Android的ListView setTypeFace和setBackgroundDrawable
- 18. Android ListView和ArrayAdapter/Arraylist
- 19. Android ListView和片段
- 20. Android,SpannableString,ArrayAdapter和Listview
- 21. android:为每个标签创建自定义ListView
- 22. android listview空标题消息
- 23. Android光标管理w/ListView
- 24. notifyDataSetChanged Android的ListView和VideoView
- 25. Android的ListView和EDITTEXT箱
- 26. android中的tableview和listview
- 27. Android的ListView和排球
- 28. 如何禁用/删除android活动标签和标签栏?
- 29. Html标签标签和ASP.NET
- 30. 的Android源码的ListView光标问题
这是对这个问题的一个很好的回答,并且让我想起尝试设计最正确的解决方案时总会出现的真实设计。还有其他的解决方法,但这是正确的方法。谢谢。 – raddevus
哦,男孩,这个答案值得至少500 upvotes! – Dave