[英]How to get clicked item position from Custom ListView in android?
我正在尝试获取自定义列表视图的位置(从原始列表位置排序后)。 这是因为列表项的数据库ID与listview项的位置匹配。 因此,我需要获取与listview项目位置匹配的已排序项目的正确位置。 我有这个代码。
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return sampleArrayList.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
但是我惊讶地发现,我需要将该职位纳入我的主要活动。 非常感谢您的任何帮助,并在此先感谢...
我怀疑,我完全理解您的问题以及您想要的是什么。但是我建议您可以维护HashMap以便为每个列表视图存储位置ID对。
在您的CustomAdapter中:
public static HashMap<Integer,String> myList=new HashMap<Integer,String>();
在getView()中:
String id= (fetch _id from database);
myList.put(position, id);
现在,在您的主要活动中,您可以通过将以下行放在OnItemClickListener()的onClick()中来检索每个listitem的_id:
Long id=Long.parseLong(CustomAdapter.myList.get(position));
您可以在自定义适配器mCurrentPosition中定义一个字段,并将其设置为int方法
View getView(final int position, View convertView, ViewGroup parent) {<
this.mCurrentPosition = position;
....
}
从活动中访问此字段。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.