如何在列表视图中获取行视图数据

时间:2011-09-21 14:30:14

标签: android android-layout

这个例子:http://saigeethamn.blogspot.com/2010/04/custom-listview-android-developer.html。在custom_row_view.xml中有3个textview id。使用onListItemClick时,一个位置列表项内有3行数据。如何提取这些数据?如何使用id?无论如何,单击列表项时,在列表视图中获取行视图数据 [protected void onListItemClick(ListView l,View v,int position,long id)?

4 个答案:

答案 0 :(得分:5)

参数View v本身就是行视图。您可以致电v.getTag()获取附加数据。应该使用v.setTag(Object)

在适配器的getView中设置它

答案 1 :(得分:0)

取决于数据类型。例如,id确实包含来自使用CursorAdapters之一设置的数据库表行的_id。通常这是该数据库表行的PK。

答案 2 :(得分:0)

listView.getAdapter().getItemAt(position)

获取绑定到视图V

的对象

答案 3 :(得分:0)

我建议您不要从视图中获取数据,而是 使用您用于将数据设置为ListView 的适配器的ArrayList。

在您指出的示例中,您正在使用HashMap的ArrayList。所以举个例子......

listView.setOnItemClickListener(new OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        // arrayList is the variable which you have used as a list in your SimpleAdapter
        hashMap = arrayList.get((int)id); // you need to typecast 'id' from long to int
        value = hashMap.get(KEY);
    }
});