0

フォームにはFormEditTextウィジェットを使用します (明らかに)。事は:一度無効であるとテストされた後、警告の赤い感嘆符は、正しい入力を入力してfield.testValidity()trueを返した後でも消えません。FormEditTextまた、手動でクリアする方法も見つかりませんでした。他の誰かがこれを経験しましたか?

これは、アクション バーから送信ボタンがタップされたときに使用する方法です。

public boolean checkFields() {

    FormEditText[] allFields = { firstname, lastname, street, zip, city,
            email, phone };

    boolean allValid = true;
    FormEditText firstFailedField = null;
    for (FormEditText field : allFields) {
        if (!field.testValidity()) {

            Log.d("FOR", "failed field: " + field.getHint());

            allValid = false;

            if (firstFailedField == null) {
                firstFailedField = field;
            }
        }

    }

    if (allValid) {

    } else {
        firstFailedField.requestFocus();
    }

    return allValid;

}

そして、これは私のレイアウトの一部です:

   <com.andreabaccega.widget.FormEditText
            android:id="@+id/firstname"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="8dp"
            android:ems="10"
            android:hint="Vorname"
            android:inputType="textPersonName"
            android:singleLine="true"
            whatever:customRegexp="[a-zA-Z]{2,}"
            whatever:emptyErrorString="Bitte Vornamen angeben"
            whatever:testErrorString="Bitte Vornamen angeben"
            whatever:testType="regexp" >
        </com.andreabaccega.widget.FormEditText>

        <com.andreabaccega.widget.FormEditText
            android:id="@+id/lastname"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="8dp"
            android:ems="10"
            android:hint="Nachname"
            android:inputType="textPersonName"
            android:singleLine="true"
            whatever:customRegexp="[a-zA-Z]{2,}"
            whatever:emptyErrorString="Bitte Nachnamen angeben"
            whatever:testErrorString="Bitte Nachnamen angeben"
            whatever:testType="regexp" >
        </com.andreabaccega.widget.FormEditText>

ファーストネーム フィールドに Kim と入力し、送信を押しました。姓のフィールドに警告があります。姓のフィールドに Jong と入力しますが、感嘆符は隠れません。そして、フィールドは有効なテストを行います!

ここに画像の説明を入力

4

1 に答える 1