使用LayoutInflater在alertdialog的java android getResources()。getIdentifier()

时间:2019-06-02 09:26:44

标签: java android alertdialog identifier

我尝试动态获取AlertDialog中某个复选框的标识符。 但是我找不到适合的代码。 每当我返回0时。

我进行了一次测试,以获取警报标题("android:id/alertTitle")的ID 这很好。但是我无法到达我的充气机ID 对我来说,上下文似乎是错误的?

AlertDialog.Builder builder = new AlertDialog.Builder(Claim.this);
        builder.setView(optionmenu);

        final CheckBox[] myCheckBox = new CheckBox[checkedItems.length];
        builder.setTitle("Select pages for claim");
        builder.setNegativeButton("Close", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                dialog.dismiss();
            }
        });
        AlertDialog alert = builder.create();
        alert.show();
        for(int i=0; i<checkedItems.length; i++) {
            String checkboxID = "android:id/optionspage"+i+"CheckBox";
            int resID = builder.getContext().getResources().getIdentifier(checkboxID, null,  null);
            myCheckBox[i] = ((CheckBox) findViewById(resID));
            myCheckBox[i].setChecked(checkedItems[i]);
        }

我在这里做错了什么?谢谢。

0 个答案:

没有答案