以前に検証されたEditTextウィジェットからエラーインジケーターを削除する


106

EditTextウィジェットを使用していて、EditTextのsetError()メソッドを使用してそれを検証していますが、正しく検証されます。

しかし、同じ画面に別のアクティビティにリダイレクトするボタンがあります。そして、戻るボタンを押して画面に戻ると、検証がまだ表示されます。

したがって、アクティビティOnPauseイベントでは、EditTextの検証を削除します。どのようにそれが可能ですか。

回答:


277
protected void onPause () {
    TextView textView = ...; // fetch it as appropriate
    textView.setError(null);
}

ドキュメントで述べたように:

エラーがnullの場合、エラーメッセージとアイコンはクリアされます。


1
うわー、それでNullPointerExceptionを除いて、null値は本当にうまく利用されました。LOL
ラルフガブ2018年

4

コトリンでは:

editText.error = null

Kotlin拡張機能:

読みやすくするために、この拡張関数を追加できます

fun EditText.clearError() {
    error = null
}

Javaの場合:

editText.setError(null);

3

以下を使用してそれを行うこともできます:

protected void onPause () {    
    mEditText.setError(null);//removes error
    mEditText.clearFocus();    //clear focus from edittext
}


0

kotlinでは、次のプロパティアクセス構文を使用してプロパティに簡単にアクセスできます。

protected void onPause () {
    EditText mEditText = ...; // fetch it as appropriate
    mEditText.error = null
}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.