Android应用程序崩溃对话框单击按钮

时间:2014-10-26 22:03:38

标签: 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);

    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();
        }
    });
}

2 个答案:

答案 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);