アプリでフィールド編集ページを作成する必要があります。連絡先を編集するためのEditTextのリストがあります。フィールドの種類ごとに私はレイアウトを持っています。例として、名前と姓のために、それは編集テキストと呼ばれる浮動小数点です。 facebookの場合 - アイコンで簡単にテキストを編集します。私はAndroidのデータは、私はレイアウトフロートラベルヒント(TextInputLayout)はAndroidデータバインディングでは機能しません
<data>
<variable
name="item"
type="app.core.db.model.Field" />
</data>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="65dp"
app:hintTextAppearance="@style/TextAppearence.App.TextInputLayout"
app:theme="@style/EditFieldFloatLabeled">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:hint="@{item.getHint()}"
android:imeOptions="actionNext"
android:maxLines="1" />
</android.support.design.widget.TextInputLayout>
</FrameLayout>
しかし、フロートラベルではない作品を作成したライブラリ
をバインドして、このリストを作成しています。私は理由を調べるために行ごとにコメントを始めます。フロートラベルは、私がコメントしたときに仕事になりました。
android:hint="@{item.getHint()}
(ハードコードされたテキストに置き換えてください) getHint()
は、フィールドタイプに基づいてR.string.{something}
を返します。
私は、ヒントが浮動小数点ラベルが消えるようにプログラムで設定するよりも、わかりました。フィールドリストはダイナミックに増加する可能性があるので(例えば、私はフィールドに電話番号を書いていて、他の電話番号の後ろに空のフィールドフィールドを挿入しているので)、静的レイアウト(リサイクラービューの代わりに)を使用することはできません。
(フィールドタイプでヒントを定義して)同じ方法でフロートラベルを作成する方法はありますか?
私のために修正されました。しかし、なぜそれは起こっているのですか? – mitsest