无法访问AlertDialog中的视图

时间:2016-08-14 08:56:41

标签: android alertdialog

我从这里复制了整个代码

Android custom numeric keyboard

并在AlertDialog内使用它。现在,当我调试应用程序时,onClick()没有被调用。

AlertDialog.Builder builder = new AlertDialog.Builder(context);
                builder.setView(R.layout.keypad_layout);
                builder.setCancelable(false).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                    }
                });
                builder.setPositiveButton("Modify", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {

                    }
                });
                builder.create().show();\

警告对话框正在显示,正面和负面按钮工作的唯一问题是我无法访问布局内的视图

2 个答案:

答案 0 :(得分:1)

原来,AlertDialog会返回view

AlertDialog dialog = builder.create();
dialog.show();
mPasswordField = (EditText) dialog.findViewById(R.id.password_field);

这对我有用。

答案 1 :(得分:0)

首先需要将布局扩展到View实例,然后可以为键设置OnClickListeners:

LayoutInflater inflater = LayoutInflater.from(context);
View mView = inflater.inflate(R.layout.keypad_layout, null);
builder.setView(mView);

final TextView key8 = (TextView) mView.findViewById(R.id.t9_key_8);
key8.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                // do something
            }
        });

重复我用其他键

为key8做的事情