setError()
メソッドを適用してTextInputLayout
いTextInputEditText
ますが、このエラーが発生しています。
私が達成しようとしているのは、エラー ツールチップです。これを達成するためにサード パーティのライブラリを使用する気はありません。\
これが私が試したものであり、これらのどれも機能しませんでした。
setErrorEnabled(true) を呼び出しても TextInputLayout のエラーが再び表示されない
TextInputLayout setErrorEnabled が新しい TextView オブジェクトを作成しない
TextInputLayout.setError() は、エラーをクリアした後に空のスペースを残します
クリア後にTextInputLayoutがエラーメッセージを表示しない
エラーを示す TextInputLayout の setError
edittext に値を入力した後の TextInputLayout エラー
テキスト入力レイアウトエラーが有効になっていてエラーが表示される
テキスト入力レイアウトエラーが有効になっていてエラーが表示される
エラーメッセージを削除してもTextInputLayoutのエラービューが削除されない
グラドル
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
compile 'com.android.support:cardview-v7:25.3.1'
compile 'com.android.support:support-v4:25.3.1'
エラースタックトレース、
Process: com.example.demo, PID: 31847
java.lang.UnsupportedOperationException: Failed to resolve attribute at index 24: TypedValue{t=0x3/d=0x1ec "res/color/secondary_text_material_dark.xml" a=1 r=0x1060120}
at android.content.res.TypedArray.getColor(TypedArray.java:449)
at android.widget.TextView.<init>(TextView.java:741)
at android.widget.TextView.<init>(TextView.java:674)
at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:62)
at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:58)
at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:54)
at android.support.design.widget.TextInputLayout.setErrorEnabled(TextInputLayout.java:602)
at com.example.demo.DemoActivity.canLogin(DemoActivity.java:163)
at com.example.demo.DemoActivity.access$000(DemoActivity.java:24)
at com.example.demo.DemoActivity$1.onClick(DemoActivity.java:54)
at android.view.View.performClick(View.java:5207)
at android.view.View$PerformClick.run(View.java:21177)
at android.os.Handler.handleCallback(Handler.java:742)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:5527)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629)
ここにXMLがあります
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="UserName"
android:theme="@style/txtIptLayout"
android:layout_marginTop="10dp"
app:backgroundTint="@color/white"
android:id="@+id/tilUsername"
app:errorTextAppearance="@style/Theme.AppCompat"
>
<android.support.design.widget.TextInputEditText
style="@style/txtEditTxtLayout"
app:backgroundTint="@color/white"
android:id="@+id/etUserName"
android:maxLines="1"
android:inputType="text"
/>
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Password"
android:theme="@style/txtIptLayout"
app:passwordToggleEnabled="true"
app:passwordToggleDrawable="@drawable/ic_widget_icon_txtiptlayout"
app:passwordToggleTint="@color/white"
android:layout_marginTop="10dp"
app:backgroundTint="@color/white"
app:errorTextAppearance="@style/Theme.AppCompat"
android:id="@+id/tilPassword"
>
<android.support.design.widget.TextInputEditText
style="@style/txtEditTxtLayout"
android:inputType="textPassword"
android:id="@+id/etPassword"
app:backgroundTint="@color/white"
/>
</android.support.design.widget.TextInputLayout>
これが私が適用しているものであり、これが正確にエラーがスローされる場所です。
tilPassword.setError("Password required");
tilPassword.setErrorEnabled(true);