1

[OK] をクリックしたときに検証を行う方法はありますか。私はそれを却下していませんが、[OK]をクリックすると閉じます。いくつかの編集テキストを使用するカスタム AlertDialog を作成しました。問題は、何も検証できないことです。検証が失敗した場合、メッセージを変更してユーザーに伝えたいのですが、代わりに閉じます。AlertBuilder を使用しています

        builder.setPositiveButton(DialogInterface.OnClickListener(){
               @Override
                public void onClick(DialogInterface dialog, int which) {
                  // I don't dismiss here.
                }

           }
4

2 に答える 2

3

これを行うには、onClickListener をオーバーライドします。トリックは、ダイアログを作成して表示した後にボタンを取得することです。

//  Create you dialog here and show it
...
dialog.show();

Button positiveButton = dialog.getButton(DialogInterface.BUTTON_POSITIVE);
positiveButton.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View onClick) {
        //  Valid checking
        ...

        if (valid) {
            dialog.dismiss();
        } else {
            //  Not valid
        }

    }
});
于 2012-05-30T05:19:08.843 に答える
-1

onClick メソッド内に何も記述しないと、必要かどうかに関係なく間違いなく却下されます。そのメソッド内に何も記述していないのに、なぜこの質問をするのですか。alertdialog であるため、閉じられます。閉じたくない場合は、 setPositiveButtonの代わりにsetNeutralButtonを使用します。ニュートラルボタンだと閉まらない

于 2012-05-30T05:28:07.787 に答える