Java Android应用程序在对话框按钮单击时崩溃
我试图在按下按钮时关闭一个对话框,但每次按下按钮,应用程序都会崩溃Java Android应用程序在对话框按钮单击时崩溃,java,android,Java,Android,我试图在按下按钮时关闭一个对话框,但每次按下按钮,应用程序都会崩溃 public class CanvasPaint extends Activity implements OnClickListener { final Button widthbtn = (Button) findViewById(R.id.widthbtn); final Button widthpopBtn = (Button) findViewById(R.id.widthpopBtn); f
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();
}
});
}
这是一些初始代码。为什么要在单击侦听器中设置单击侦听器?应该更像
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();
}
});
对话框布局未正确膨胀,因此,
widthpopBtn
将为空。尝试按如下方式放大布局:
LayoutInflater inflater = getLayoutInflater();
View dialogView = inflater.inflate(R.layout.your_dialog_layout, null);
Button widthpopBtn = (Button) dialogView.findViewById(R.id.widthpopBtn);
请检查您的LogCat并查看堆栈跟踪:@jyoon第二个onclick用于对话框中的按钮如果第二个在对话框中,您需要正确地膨胀布局。请参阅:当我这样做时,当widthbtn或widthpopBtn为空时,应用程序将使pon加载崩溃。正如上面已经提到的@commonware一样,检查您的logcat/堆栈跟踪。此外,如果发布的代码是项目中的实际代码,则显示的对话框将完全为空。