0

我创建了 AlertDialog,它有一些按钮和一个 gridview,从布局使用LayoutInflater,并onCreateDialog()在我的 Activity 类中被覆盖,它在布局中打包并返回Dialog对象。

onCreate()活动类的方法中,我使用showDialog(id)其中 id 是与特定对话框关联的常量来显示对话框。

现在,我想将单击事件绑定到刚刚显示的 AlertDialog 上的小部件。我这样做如下:

showDialog(DLG_INPUT_FORM);
inputform = new Dialog(MyActivity.this);
inputform.setContentView(R.layout.input_form);

edtName = (EditView) inputform.findViewById(R.id.edtName);
btnCheck = (Button) inputform.findViewById(R.id.btnCheck);
txtStatus = (TextView) inputform.findViewById(R.id.txtStatus);

//This event is never triggered.
btnCheck.setOnClickListener(new OnClickListener()
{
    public void onClick(View v)
    {
        String name = edtName.getText().toString();
        //Do Something with the "name"
        txtStatus.setText("Available");
    }
});

这不会引发任何异常,但是单击按钮不会执行任何操作,实际上根本不会触发事件。

代码有什么问题?

更新:

这个问题有点类似于这个,我也得到了对 Dialog 上的小部件的引用,btnCheck但是txtStatusclick 事件有问题,它不起作用。

4

0 回答 0