在使用AlertDialog时发生了空指针异常
privateAlertDialog dialog=null;
private voidshowSetupPwdDialog() {
AlertDialog.Builder builder = newBuilder(HomeActivity.this);
View view = View.inflate(HomeActivity.this,R.layout.dialog_setuppwd, null);
Button ok = (Button)findViewById(R.id.ok);
Button cancel = (Button) findViewById(R.id.cancel);
cancel.setOnClickListener(newOnClickListener() {
@Override
public voidonClick(View arg0) {
// TODOAuto-generated method stub
dialog.dismiss();
}
});
builder.setView(view);
dialog = builder.show();
}
如果在Activity中调用findViewById(int id)的时候,要注意id的来源,如果id不是在当前Activity所在的窗口,拿到的view对象就为空
在通过findViewById找Button的时候,它是从原来的布局文件里面找的,而不是对话框的布局文件,所以当然要报空指针异常
修改代码如下:
Button ok =(Button) view.findViewById(R.id.ok);
Button cancel =(Button) view.findViewById(R.id.cancel);