我正在尝试获取自定义列表视图的位置(从原始列表位置排序后)。这是因为列表项的数据库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;
}
但是我发现我需要把这个位置放到我的主要活动中。任何帮助都非常感谢,并提前感谢...
答案 0 :(得分:1)
我怀疑,我完全理解你的问题和你想要的东西。但我可以建议你可以维护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()中来检索每个列表项的_id:
Long id=Long.parseLong(CustomAdapter.myList.get(position));
答案 1 :(得分:-1)
您可以在自定义适配器mCurrentPosition中定义一个字段,将其设置为方法
View getView(final int position, View convertView, ViewGroup parent) {<
this.mCurrentPosition = position;
....
}
从活动中访问此字段。