我想在点击时显示列表视图,以获取项目键值。我该怎么做呢。
感谢, 迪安
答案 0 :(得分:5)
你要做的事情的方式是使用ArrayAdapter和一个简单的类来创建你想要使用的对象。
例如,如果您想制作人员的列表视图,包括他们的姓名和年龄,并且想要在列表视图中显示他们的名字,您首先要创建一个Person类,如下所示:
public class Person {
int age;
String name;
public Person(int age, String name) {
this.age = age;
this.name = name;
}
@Override
public String toString() {
return this.name; //what you want displayed for each row in the listview
}
}
然后,在你使用listview的java文件中(比如说它叫做PersonTracker.java),你可以调用:
setListAdapter(new ArrayAdapter<Person>(PersonTracker.this, R.layout.list_people, people);
lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View currView, int position, long id) {
Person selected = (Person)lv.getItemAtPosition(position);
String selectedName = selected.name; //ideally this would probably be done with accessors
int selectedHeight = selected.height;
//Do whatever you need to with the name and height here
//such as passing via intents to the next activity...
}
});
其中list_people只是一个通用的xml布局,只有一个textview控制每行的外观,而people是包含listview的xml布局。
如上所示,在onItemClick函数中,您可以从与单击的列表项关联的Person中获得您想要的任何内容。
无论如何,希望能帮助别人,并节省我花时间计算出来的时间......我需要一些睡眠......
答案 1 :(得分:0)
列表视图的项目键值?您在寻找onListItemClick from ListActivity吗?