对话框上的Android应用程序崩溃按钮单击
问题描述:
当按钮被按下时,我试图使对话框关闭。但每当我按下按钮时,应用程序崩溃。对话框上的Android应用程序崩溃按钮单击
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();
}
});
+0
当我这样做的应用程序崩溃庞加载 – user2552211 2014-10-26 22:24:41
+0
然后无论是widthbtn或widthpopBtn为空。正如@CommonsWare已经在上面陈述的那样,检查你的logcat /堆栈跟踪。另外,如果您发布的代码是项目中的实际代码,则您显示的对话框将不会显示为空。 – prettyvoid 2014-10-26 22:28:57
答
你的对话框布局不适当充气,因此,您widthpopBtn
将是无效的。尝试膨胀的布局是这样的:
LayoutInflater inflater = getLayoutInflater();
View dialogView = inflater.inflate(R.layout.your_dialog_layout, null);
Button widthpopBtn = (Button) dialogView.findViewById(R.id.widthpopBtn);
请检查您的logcat的,看看你的堆栈跟踪:https://stackoverflow.com/questions/23353173/unfortunately-myapp-has-stopped-how-can-i-解决 - 这 – CommonsWare 2014-10-26 22:04:11
一个upvote?真? – Simon 2014-10-26 23:00:56
@jyoon第二个onclick用于对话框中的按钮 – user2552211 2014-10-26 23:04:39