Как отклонить пользовательский диалог от пользовательской кнопки в диалоге? - PullRequest
0 голосов
/ 11 ноября 2011
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();
    }

У меня есть пользовательский макет с двумя кнопками. Я также использую стандартную кнопку nagative, чтобы закрыть диалоговое окно.У меня вопрос, я хотел бы закрыть диалоговую панель при нажатии пользовательских кнопок.По сути, когда кнопка нажата, она будет выполнять некоторые действия и закрывать диалог.какой метод мне следует вызвать?

1 Ответ

1 голос
/ 15 марта 2012

попробуйте

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