如果我有一个使用 web 服务填充的列表视图,并且在每一行中添加的元素都有一个唯一的 id 存储在数组列表中,该数组列表利用哈希图来存储数据,那么获取数据 id 的最简单方法是什么,那就是在行中单击.. 我在列表中使用基本适配器,
任何帮助将不胜感激。
在列表视图上的项目单击侦听器上设置。它将返回适配器中单击项目的位置(相当于数组列表中的位置)。你可以使用它来获取id。
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(),String.valueOf(position), Toast.LENGTH_SHORT).show();
}
});
第三个参数是列表中项目的位置。
使用此方法 listView.getItemAtPosition(position)。它有一个你可以使用的位置
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> a, View v, int position, long id) {
// Get item at position like this:
// listView.getItemAtPosition(position));
}
});
如果您使用该adapter.getItem(position)
功能,您将能够在该特定位置获取存储在 ListView 中的项目。
更新:这当然是在setOnItemClickListener