我通过扩展SimpleCursorAdapter创建了一个自定义ListView.结果是IMAGE + CheckedTextView(文本+复选框).
当我长按一个项目时,一切正常 - 我得到了正确的ID和被点击的项目的详细信息.
当我尝试将项目标记为已选中但它检查错误的复选框时,会出现此问题.
例如:我的列表中有9个项目,排序为1-9.如果我点击listItem 1,则会检查第9行的复选框.如果我点击第4项,则会检查第6行上的复选框,如果我点击中间一行,则会进行检查.
显然,我在这里遗漏了一些东西:)请记住,当我长时间点击该行(contextMenu打开)时,一切都很好.
这是听众:
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
CheckedTextView markedItem = (CheckedTextView) view.findViewById(R.id.btitle);
if (!markedItem.isChecked()) {
markedItem.setChecked(true);
} else {
markedItem.setChecked(false);
}
}
});
Run Code Online (Sandbox Code Playgroud)
感谢任何帮助!
如果您需要我发布更多代码,请告诉我.
谢谢!
顺便说一句,如果我点击多个...... PARTY继续......没有明显的顺序......
编辑:适配器代码
public class ImageCursorAdapter extends SimpleCursorAdapter {
private Cursor c;
private Context context;
private String url;
private TextView bUrl;
public ImageCursorAdapter(Context context, int layout, Cursor c,
String[] from, int[] to) {
super(context, …Run Code Online (Sandbox Code Playgroud)