自定义对话框中的NullPointerException

时间:2012-03-07 14:41:49

标签: android dialog

我正在尝试开发一个由按钮组成的屏幕,其中单击按钮可启动自定义对话框。该对话框有一个关闭它的ok按钮。我为它编写了以下代码,但是给了我一个NullPointerException

Dialog modalDialog;
@Override
public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.input);

    Button modal = (Button)findViewById(R.id.ModalityButton);

    modal.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            modalDialog = new Dialog(Input.this);
            modalDialog.setContentView(R.layout.modality);
            modalDialog.setCancelable(true);
            Button ok = (Button) findViewById(R.id.modality_ok);

            ok.setOnClickListener(new OnClickListener() { // shows null pointer error at this line
                @Override
                public void onClick(View v) {
                    modalDialog.cancel();
                }
            });

            modalDialog.show();
        }
    });
}

1 个答案:

答案 0 :(得分:6)

在对话框的布局中搜索按钮ok

Button ok = (Button) modalDialog.findViewById(R.id.modality_ok);