0
Hi there,

    @Override
    protected Dialog onCreateDialog(int id) {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        inviteView = getLayoutInflater().inflate(R.layout.invite_dialog, null);
        builder.setView(inviteView);
        sendSmsButton = (Button) inviteView.findViewById(R.id.sendSMSButton);
        sendEmailButton = (Button) inviteView.findViewById(R.id.sendEmailButton);


        builder.setTitle(R.string.invite_callrz_title);
        sendSmsButton.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

            }
        });

        sendEmailButton.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

            }
        });
        builder.setNegativeButton(R.string.cancelItem,
                new DialogInterface.OnClickListener() {

                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.cancel();
                    }
                });
        return builder.create();
    }

我有一个自定义布局,上面有 2 个按钮。我还使用默认的 nagativeButton 来关闭对话框。我的问题是我想在单击自定义按钮时关闭对话框栏。基本上,当单击按钮时,它会做一些工作并关闭对话框。我应该调用哪种方法?

4

1 回答 1

1

尝试这个

AlertDialog.Builder builder = new AlertDialog.Builder(this);
AlertDialog alertDialog; 
alertDialog = builder.create();

sendSmsButton = (Button) builder.findViewById(R.id.sendSMSButton);

sendSmsButton.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            alertDialog.dismiss();
        }
    });
于 2012-03-15T06:12:48.223 回答