Android Listview游标适配器,总是在单击时获取第一项
我有一段使用简单光标适配器的listview代码:Android Listview游标适配器,总是在单击时获取第一项,android,listview,android-listview,simplecursoradapter,android-adapter,Android,Listview,Android Listview,Simplecursoradapter,Android Adapter,我有一段使用简单光标适配器的listview代码: final SimpleCursorAdapter adapter = new SimpleCursorAdapter(getActivity(), R.layout.textonly_listview_item, cursor, from, to); listview.setAdapter(adapter); listview.setChoiceMode(ListView.CHOICE_MODE_SINGLE); listview.setO
final SimpleCursorAdapter adapter = new SimpleCursorAdapter(getActivity(), R.layout.textonly_listview_item, cursor, from, to);
listview.setAdapter(adapter);
listview.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Cursor item = (Cursor) parent.getItemAtPosition(position);
adapter.notifyDataSetChanged();
view.setSelected(true);
G.t(getActivity(), "Now working with category: " + item.getName());
}
});
final SimpleCursorAdapter=new SimpleCursorAdapter(getActivity(),R.layout.textonly_listview_项,光标,从,到);
setAdapter(适配器);
listview.setChoiceMode(listview.CHOICE\u MODE\u SINGLE);
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
游标项=(游标)父项.getItemAtPosition(位置);
adapter.notifyDataSetChanged();
view.setSelected(true);
G.t(getActivity(),“正在处理类别:”+item.getName());
}
});
无论单击哪个单元格,它都会得到列表视图中的第一项或最上面的项,有人能告诉我哪里错了吗
你试过这个吗
Cursor item = adapter.getItem(position);
view.setSelected(true);
adapter.notifyDataSetChanged();
如注释中所述,您应该移动
适配器.notifyDataSetChanged()代码>结束。这就是发生这种情况的可能原因。如果移动adapter.notifyDataSetChanged()代码>到最后(在祝酒之后)?它改变了什么吗?哇,这就像魔术一样,把你的评论移到回答上来,这样我就可以投票并把它标记为正确^_^