我在另一个内部有一个OnClickListener,但是如果我单击第一个按钮,我的活动就会停止工作

时间:2016-07-01 12:37:34

标签: android

我在另一个内部有一个OnClickListener,但如果我点击第一个按钮,我的活动就会停止工作。

这是我的代码:

addNewCard.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View view) {
            /*Intent i = new Intent(view.getContext(),CustomDialog.class);
            startActivity(i);
            launchCamera(view);*/

            final Dialog dialog = new Dialog(context);
            dialog.setContentView(R.layout.dialogbox);
            EditText editText = (EditText) dialog.findViewById(R.id.enter_name);
            dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));

           okButton = (Button) findViewById(R.id.ok_button);

            okButton.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View view) {
                    launchCamera(view);

                }
            });

            dialog.show();
        }
    });

谢谢你,如果你可以帮助我,有些想法......

2 个答案:

答案 0 :(得分:1)

这是您的错误

okButton = (Button) findViewById(R.id.ok_button);

假设您的按钮处于对话框布局中,因此它应该是

okButton = (Button) dialog.findViewById(R.id.ok_button);

答案 1 :(得分:0)

如果您使用的是onClickListener,则使用对话框,而不是像DialogInterface.OnClickListener()

那样使用对话框
     final Dialog dialog = new Dialog(context);
    dialog.setContentView(R.layout.dialogbox);
    EditText editText = (EditText) dialog.findViewById(R.id.enter_name);
    dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));

    okButton = (Button) findViewById(R.id.ok_button);

    okButton.setOnClickListener(new DialogInterface.OnClickListener() {
        @Override
        public void onClick(View view) {
            launchCamera(view);

        }
    });

    dialog.show();
}
}