繁体   English   中英

如何设置复选框处于选中和禁用状态

[英]How to set checkbox checked and disabled

我有以下代码可显示要下载的语言列表:

public void onCreateDialog(ArrayList<String>fullLangArray, final ArrayList<String>codeLangArray) {

    final String[] items = fullLangArray.toArray(new String[fullLangArray.size()]);

    final ArrayList mSelectedItems = new ArrayList();

    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);

    // Set the dialog title
    builder.setTitle("Updates...")
            .setMultiChoiceItems(items, null,
                    new DialogInterface.OnMultiChoiceClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int indexSelected,
                                            boolean isChecked) {
                            if (isChecked) {
                                  mSelectedItems.add(Utils.SERVER_ADDRESS + "/" + codeLangArray.get(indexSelected) + ".zip");
                            } else if (mSelectedItems.contains(indexSelected)) {
                                  mSelectedItems.remove(Integer.valueOf(indexSelected));
                            }
                        }
                    })

            .setPositiveButton("Download", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int id) {

                    DownloadTask downloadTask = new DownloadTask(MainActivity.this);
                    downloadTask.execute(mSelectedItems.toString());

                }
            })
            .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int id) {

                }
            });

    AlertDialog alertDialog = builder.create();
    alertDialog.show();
}

我要选中一个复选框,并在加载AlertDialog后将其“ 禁用 ”,就像在照片中一样( 选项3 )。

在此处输入图片说明

你能帮我怎么做吗?

您可以通过使用setChecked()方法(其值为布尔值setChecked()来选中此复选框。

例:

   option1.setChecked(true);

并取消选中

   option2.setChecked(false);

如果要将其设置为选中并禁用,则可以使用setEnabled(),它使用布尔值作为参数。

例。

option3.setChecked(true);
option3.setEnabled(false); 

这将禁用您的复选框,甚至选中它。 我希望这可以帮到你。 谢谢。

用于设置不透明度

mSelectedItems.getBackground()。setAlpha(128);

INT的范围是0(完全透明)到255(完全不透明)。

对于setChecked项目

mSelectedItems.setChecked(true);

禁用检查

mSelectedItems.setEnabled(false)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM