0

カスタム ダイアログを表示し、ユーザーにボタン 1 か 2 のいずれかをクリックするように強制したいと考えています。

問題は、ユーザーが戻るボタンを使用でき、バックグラウンドに表示されているビューをクリックすると、ダイアログも消えることです。

なんで?どうすればこれを防ぐことができますか?

        final Main t = this;
        final Dialog dialog = new Dialog(this);
        dialog.setContentView(R.layout.prompt_input_access);
        dialog.setTitle("Title");

        Button cmdLoginAccount = (Button) dialog.findViewById(R.id.cmdLoginAccount);
        Button cmdLoginBank = (Button) dialog.findViewById(R.id.cmdLoginBank);
        cmdLoginAccount.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                loginToBank = true;
                dialog.dismiss();

                Intent intent = new Intent(t, UserMenu.class);
                startActivity(intent);
            }
        });

        cmdLoginBank.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                loginToBank = false;
                dialog.dismiss();

                Intent intent = new Intent(t, UserMenu.class);
                startActivity(intent);
            }
        });

        dialog.show();
4

1 に答える 1

4

setCanceledOnTouchOutsideメソッドを使用するだけです。

dialog.setCanceledOnTouchOutside(false);
于 2012-11-22T16:32:06.013 に答える