繁体   English   中英

如何从Android中的“自定义ListView”获取被点击项的位置?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM