不确定问题是否仍然存在。 尽管如此,我想我会分享我是如何做到的,以便它可以帮助那些想要做同样事情的人。
您可以使用视图的标记function来存储该视图的id与其在列表中的位置之间的映射。
android开发者网站上的标签文档很好地解释了这一点:
示例:在列表适配器的getView方法中,您可以设置该视图的id及其在列表中的位置的映射,例如:
public View getView (int position, View convertView, ViewGroup parent) { if(convertView == null) { // create your view by inflating a xml layout resource or instantiating a // custom view class } else { // Do whatever you want with the convertView object like // finding a child view that you want to set some property of,etc. } // Here you set the position of the view in the list as its tag convertView.setTag(convertView.getId(),position); return convertView; }
要检索视图的位置,您可以执行以下操作:
int getItemPosition(View view) { return view.getTag(view.getId()); }
需要注意的一点是,您需要引用要查找其位置的视图。 如何掌握View的参考取决于您的具体情况。