0

setErrorAndroidのメソッドを使用して、ダイアログ メッセージ内の一連の編集テキストに入力検証を追加しました。

しかし、編集テキストの一部を空白のまま"ok"にしてダイアログをクリックしてテストすると、値を入力するプロンプトが表示されずにダイアログが閉じます。

この実装の何が問題なのか誰にもわかりますか?

入力の検証がトリガーされる前に、ダイアログを閉じる呼び出しと関係があると思います。

これは、この質問の 4 番目の回答に基づいて入力検証を設定した方法です。EditText が空かどうかを確認してください。:

    else if(TextUtils.isEmpty(strColour)) {
        colourText.setError("Please enter a value");
        return;
     }
}
   dialog.cancel(); 
}
4

1 に答える 1

1

dialog.cancel()これは、エラーに関係なく呼び出しているためです。エラーがない場合にのみ、このメソッドを呼び出します。ブール値を使用してエラーを追跡します。エラーが存在する場合は false にし、それ以外の場合は true のままにdialog.cancel()して、ブール値が true の場合にのみメソッドを呼び出します。

于 2015-01-05T21:32:46.320 に答える