android - 检查 ListView 中所有复选框的正确方法?

标签 android android-listview

我有一个设置了 CHOICE_MODE_MULTIPLE 的 ListView。我还有额外的标题要管理 (取消)选择所有项目。问题是:这样做是正确的方法吗?很好,但是我不确定那是正确的方法。正如您在下面看到的,有一个 checkAllCheckBoxes 我传递给 header onClickListener() 方法的对象。你怎么看?如有任何回复,我们将不胜感激。

private OnClickListener checkAllCheckboxes = new OnClickListener(){
    public void onClick(View v) {
        ListView lv = getListView();
        int size = getListAdapter().getCount();
        if(lv.isItemChecked(0)){
            for(int i = 0; i<=size; i++){
                lv.setItemChecked(i, false);
            }
        } else {
            for(int i = 0; i<=size; i++){
                lv.setItemChecked(i, true);
            }
        }
    }

};

最佳答案

你可以像这样优化你的代码:

替换

if(lv.isItemChecked(0)){
    for(int i = 0; i<=size; i++){
        lv.setItemChecked(i, false);
    }
} else {
    for(int i = 0; i<=size; i++){
        lv.setItemChecked(i, true);
    }
}

通过

    boolean check = lv.isItemChecked(0);
    for(int i = 0; i <= size; i++)
        lv.setItemChecked(i, !check);

关于android - 检查 ListView 中所有复选框的正确方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4876083/

相关文章:

安卓 : set visibility of individual buttons in a custom ListView

Android:启用了多项选择和子项的ListView

android - (Android)有没有办法检测何时在 WebView 中选择了文本?

java - 持久化 fragment 状态

android - 自定义抽屉导航

android - 像Dropbox View一样在android的listView中添加GridView

Android 默认文本选择器复制文本不起作用

android - 在没有第三方库的情况下,可以通过 React-Native 访问的所有硬件/传感器有哪些?

android - Room 查询是否异步发生?

android - 实现 Facebook 愿望 list 教程应用程序不拥有操作类型错误