Android ListActivities setItemChecked in onListItem单击“不工作”

Android ListActivities setItemChecked in onListItem单击“不工作”,android,listview,listactivity,Android,Listview,Listactivity,我这里有这个代码: @Override protected void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); if(l.isItemChecked(position)) l.setItemChecked(position, false); else l.setItemChec

我这里有这个代码:

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    super.onListItemClick(l, v, position, id);
    if(l.isItemChecked(position))
        l.setItemChecked(position, false);
    else
        l.setItemChecked(position, true);
    Toast.makeText(mContext, "Mission: " + ((TreeNode)l.getItemAtPosition(position)).getTitle(), Toast.LENGTH_LONG).show();

}
它可以在调试器运行的范围内工作,但是setItemChecked似乎从未真正以图形方式设置项。我没有看到复选框出现,然后在下一次单击isItemChecked时仍然返回false


不确定我做错了什么?

是否尝试刷新列表的适配器

l.getAdapter().notifyDataSetChanged();
试试这个。。。。。
使android:focusable=“false”选中复选框

如果您将ListView
适配器
设置为
选择模式(多个)
,并且您使用复选框查看将实现可检查界面,您就不需要自己处理切换复选框了

似乎我唯一可用的方法是getAdapter().notifyAll();如果我尝试在onListItemClick方法的底部添加线程或其他东西,会导致线程或其他东西被锁定?您必须将适配器强制转换到自定义适配器中,例如BaseAdapter等。