我通过使用setMultiChoiceItems显示Alert-box中的元素列表,但是当我滚动时,复选框被解除

时间:2017-05-30 09:28:12

标签: android alertdialog multichoiceitems

我已经使用复选框和项目名称实现了警报对话框,我没有使用任何自定义适配器来显示列表视图。我能够成功显示已检查状态的项目但我的问题是什么时候我滚动警报框一些复选框未选中。请建议我如何解决此问题。 请找到使用MultiChoiceItems显示警告框的代码。

  AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
        builder.setPositiveButton(android.R.string.ok, this)
        .setOnCancelListener(this)
          .setTitle("title")
                .setMultiChoiceItems(nameofItems, Checkedstates, listner);
                 mDialog = builder.create();
                  mDialog.show();

1 个答案:

答案 0 :(得分:0)

当您滚动列表时,它会使用数据列表更新视图,因此如果您需要回溯检查状态,则还必须更新数据列表。使用DialogInterface OnMultiChoiceClickListener更新数据列表。

OnMultiChoiceClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which, boolean isChecked) {
        Checkedstates[which] = isChecked;    
    }
}