我花了3个小时试图完成这项工作,对不起,如果我忘了发帖......
问题在于:
(假装&符号是图像和括号是checkedtextview的复选框。)
//my list looks like this
& name1Here []
& name2Here []
& name3Here []
& name4Here []
我明天会发布代码,但这是我一直在体验的内容。 - 如果我在listView的onItemClick()中使用getChildAt(),随机的子项会检查和关闭,但是经过足够的点击后,所有这些都会最终取消选中。 - 如果我在适配器的getView()中实现checkedTextView.onClick(),我会获得listview中每一行的nullpointerexceptions。 - 如果我做了其他有意义的事情,在选择一行时,复选框会勾选并立即取消自我,就好像我没有点击一样。但它仍然被“点击”,因为我可以通过listView.getCheckedItemPosition()获得它
我查看了代码,而且我不再在任何地方调用toggle()了。我唯一的clickListener就在列表中。
基本上,这就是现在的样子
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
listConversations.setItemChecked(position, true);
Log.d("<>>>>>>>>>>>>>>>>>>>>>>>>>>>", "listConversations.getCheckedItemPosition() = "+listConversations.getCheckedItemPosition());
listConversations.
OnContactClick(position, id);
}
记录的数字是正确的。然而,即使使用这种愚蠢的方法,CheckedTextView的可检查部分仍然可以在一次点击时自动勾选/取消。这是我今天的最后一次尝试,因为我期望列表视图勾选所有其他的,但没有。要么我不止一个,要么根本没有。
如果你仍然不明白这个问题 - 我为什么搞砸了这个地狱并且无法使复选标记按照预期工作?!?!
请帮忙。我在这个荒谬的事情上浪费了3个小时。我很绝望。
lastminuteadd:看起来我和这个家伙有同样的问题 ListView: setItemChecked only works with standard ArrayAdapter - does NOT work when using customized ArrayAdapter?
答案 0 :(得分:0)
因为没有人回答我想我必须......
诀窍是让Wrapper类实现Checkable。并且如果缺少一个包装类...