我试图在按下按钮时关闭对话框。但每次按下按钮,应用程序都会崩溃。
public class CanvasPaint extends Activity implements OnClickListener {
final Button widthbtn = (Button) findViewById(R.id.widthbtn);
final Button widthpopBtn = (Button) findViewById(R.id.widthpopBtn);
final Context context = this;
final Dialog widthDialog = new Dialog(context);
widthbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
widthpopBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
widthDialog.dismiss();
}
});
widthDialog.show();
}
});
}
答案 0 :(得分:0)
这是一些初始代码。为什么要在单击侦听器中设置单击侦听器?它应该更像是
widthbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
widthDialog.show();
}
});
widthpopBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
widthDialog.dismiss();
}
});
答案 1 :(得分:0)
您的对话框布局不正确夸大,因此您的widthpopBtn
将为空。尝试像这样膨胀布局:
LayoutInflater inflater = getLayoutInflater();
View dialogView = inflater.inflate(R.layout.your_dialog_layout, null);
Button widthpopBtn = (Button) dialogView.findViewById(R.id.widthpopBtn);