【发布时间】:2014-12-27 10:05:10
【问题描述】:
我正在创建一个列表视图,其中有两个TextView 和一个自定义视图作为选择指示器,以加载我使用的数据CursorAdapter 并覆盖bindView 和newView。但问题在于保留选择索引。
当我点击一个列表项时,我将它的位置保存到视图中,如下所示
View v1=(View)view.findViewById(R.id.viewColor);
v1.setTag(position)
但在bindView 中,我没有获得可以通过从视图标签中获取位置来执行匹配的位置,如下所示
Integer position = (Integer) v1.getTag();
但我无法比较我们在getView 中获得的方式。我试过 cur.getPosition() 是光标中记录的位置,它与 v1.getTag() 不匹配。
我尝试如下覆盖 getView,但没有获得准确的位置
@Override
public View getView(final int position, View convertView, ViewGroup parent){
this.position = position;
return super.getView(position, convertView, parent);
}
那么我怎样才能在 bindView 中获得位置?我需要使用 getView 还是什么?我探索了很多线程,但在 bindView 方面我没有得到任何明确的答案。
编辑
@Override
public void onItemClick(AdapterView<?> adapter, View view, int position,
long arg3) {
view.setTag(position);
// i save the position on list item click so that when adapter loads the
// the list i can match the position with the current one
}
【问题讨论】:
标签: android listview android-cursoradapter