我创建了 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
但是txtStatus
click 事件有问题,它不起作用。