問題タブ [android-textinputlayout]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - エラーメッセージを削除してもTextInputLayoutのエラービューが削除されない
いくつかの入力フィールドを持つ垂直線形レイアウトがあります。TextInputLayout を使用すると、ラベルと組み込みのエラー メッセージを含む適切なフローが得られます。私の問題は、エラーメッセージを追加および削除するときです。
エラーメッセージを追加すると、編集テキストの下に配置され、すべてがうまく見えます。
setError(null) でエラー メッセージを削除すると、メッセージは削除されますが、スペースはまだ残っています。これは明らかにGoogleの設計によるものです(https://code.google.com/p/android/issues/detail?id=176005を参照)。UI の見栄えが非常に悪くなるため、このスペースを削除していただきたいと思います。
.setErrorEnabled(false) を実行すると、ビューが削除され、すべてが再び正常に見えます。ただし、ユーザーがデータを変更して別の setError を実行すると、エラー メッセージは表示されません (編集テキスト行のみが赤くなります)。
android - フラグメント - EditText.setText(String) は、文字列が savedInstanceState から取得された場合は機能しませんが、ハードコードされた場合は機能します
私はフラグメントを持っています:
ContactUsFragment.java
私が直面している問題は、et_name.setText(name)
内部if(instanceSaved){...}
が機能していないことです。何も設定しません。name がnull
から値を取得しているかのようにif(savedInstanceSaved != null){...}
。しかし、Toasts
コードのさまざまなブロック内で使用した は、期待どおりに機能しています。に保存してonSaveInstanceState(Bundle savedInstanceState){...}
実行しています。これは、 myが null ではなく、stringの正しい値を示していることif(savedInstanceSaved != null){...}
を意味します。これは、変更中にコードが正しく機能していることを意味します。しかし、メソッドにテキストを設定していません。savedInstanceState
name
if(instanceSaved){...}
orientation
setText(String)
も使用してみsetText("String")
ましたが、うまくいきます。コードに示すように。私は何が間違っていて、何が欠けていますか? 助けてください。ありがとうございました。
注:
EditText
内部で sを使用していますandroid.support.design.widget.TextInputLayout
編集:何があっても、
setText(name)
常に の初期値を取っていることがわかりましたString name
。name
ではToast
新しく更新された値が表示されますが、どういうsetText()
わけか常に初期値を使用しています。また、向きを 3 回変更すると、アプリがクラッシュすることに気付きました。
android - Floating hint in TextInputLayout moving upwards as soon as we click on editTextView
I have a TextInputLayout inside which I have an EditTextView where I have set a hint. As soon as I click on editTextView, the hint move upwards.
I want it to start floating or move upwards when user starts typing something..Till the time user doesn't type anything it should display hint as usual.
Could anyone tell me the best way to do this?
android - TextInputLayout エラーメッセージの色を設定するには?
テキスト フィールドの下に表示されるように設定できるエラー メッセージの色を変更するにはどうすればよいですかTextInputLayout
(経由setError(...)
-ここでエラー状態を参照)。
通常は赤色で表示されますが、これを変更したいと考えています。styles.xml
色をターゲットにするには、ファイルでどのアイテム名/キーを使用する必要がありますか?
前もって感謝します。
編集:
app:errorTextAppearance
my にキーを追加しましたTextInputLayout
:
およびエラーの外観(テスト用に緑色に設定) :
その結果、ヒントとエラー メッセージが色付けされます(スケーリングされた Android Emulator のスクリーンショット)。
通常 (エラーなし):
エラー状態:
編集 2/結果:
エラー メッセージが表示されると、フィールドの上のヒントがエラー メッセージと同じ色に変わり、ヒントの色が上書きされます。これは仕様によるものです。
android - AutoCompleteTextView 下線の描画可能セレクターのカスタム状態は、false の場合でも他の状態の前に適用されます
AutoCompleteTextViewを含むTextInputLayoutを使用していますが、メソッドが呼び出されたときにその下線を赤くしたいです。TextInputLayout.setError()
state_error
val/attrs で呼び出される属性、メソッドを上書きするCustomTextInputLayoutsetError()
、およびこの新しい状態をその状態に追加するCustomAutoCompleteTextViewを作成しました。
そして、セレクターを次のように定義しました。
つまり、 mycustomTextInputLayout.setError()
が呼び出されると、そのCustomAutoCompleteTextViewsetErrorState(boolean)
を呼び出します。これにより、この状態がtrue
orに変更さfalse
れ (受け取った値に応じて) 、 drawableのrefreshDrawableState()
変更が呼び出されます。
ただし、下線は最初から赤で表示され、state_error
フィールドがfalse
. どうして?他の州は機能していないようです。ビューがフォーカスを取得すると、線は黄色に変わりません。フォーカスを失うと、白ではなく赤に戻ります...
必要に応じて、以下のコードを参照してください。
activity_main.xml (関連する部分のみ)
値/attrs.xml
CustomTextInputLayout.class
CustomAutoCompleteTextView.class
アクティビティから呼び出すcustomTextInputLayout.setError()
と、正常に動作し、エラーが完全に設定および設定解除されますがstateError
、CustomAutoCompleteTextViewのフィールドがfalse
.
android - TextInputLayout のテキストが EditText テキストと平行にシフトされる
EditTextに左パディングを与えると、TextInputLayoutのテキストもEditTextのテキストと平行に右にシフトされます。EditText のみにパディングを付けたい、TextInputLayout のテキストを同じ場所 (左) に残したい。
android - Android TextInputLayout の色が colorAccent に戻ります
TextInputLayout
以下に示すように、編集テキストのカスタムスタイルを設定して変更しようとしました:
レイアウト:
スタイル.xml:
私は2つの問題に直面しました:
1.アクティビティでは問題なく動作しますが、フラグメントでは変化がなく、色はcolorAccent
.
2.アクティビティでも.setErrorEnabled(false);
、編集テキストの下部の色を設定すると、 に変わりますcolorAccent
。
なにが問題ですか?アンドロイドのバグですか?