如何取消选中AlertDialog(setMultiChoiceItems)中的项目?

Edu*_*ira 13 java android android-alertdialog

我想清除所选项目的总数达到三个项目,我正在做如下但不工作......

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(getResources().getText(R.string.escolhaArquivosBaixados));
builder.setMultiChoiceItems(items, selected, new DialogInterface.OnMultiChoiceClickListener() {

    @Override
    public void onClick(DialogInterface dialog, int which, boolean isChecked) {
        //                  
        int count = 0;
        for(int i = 1; i < selected.length; i++){
            //
            if (selected[i]){
                count++;
            }
            if (count == 3){
                //enter here but nothing happens
                ((AlertDialog) dialog).getListView().setItemChecked(which, false);
                break;
            }
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

Edu*_*ira 46

看到Jorgesys在这个问题中回答我意识到我的代码中缺少的东西,也是更改布尔列表所必需的.

        selected[which] = false;
        ((AlertDialog) dialog).getListView().setItemChecked(which, false);
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!这让我发疯了!数组的解决方法就像一个魅力! (2认同)
  • 我到这里之前浪费了几个小时.谢谢! (2认同)
  • 浪费了一天时间才找到这个答案。 (2认同)