1. ホーム
  2. android

[解決済み] データバインディングを使用して、リソースからの文字列とXMLの動的変数を組み合わせるにはどうすればよいですか?

2022-04-13 10:30:57

質問

TextViewにハードコードされた文字列があり、この文字列の末尾に動的変数を置きたいのです。これは私のコードです。

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:layout_marginLeft="16dp"
    android:layout_marginRight="16dp">
    <TextView
        android:id="@+id/PeopleName"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="@string/Generic_Text"+"@{ Profile.name }" />


</LinearLayout>

で問題が発生しています。 android:text="@string/Generic_Text"+"@{ Profile.name }" . その Generic_Text は、My Name is "と記述し、次に Profile.name は動的で、明らかにプロファイルごとに変化します。TextViewの出力全体が次のようになるようにしたい。 私の名前は{Profile.name}です。 . 何かお手伝いいただけると幸いです。

解決方法は?

こんなことができます。

android:text= "@{String.format(@string/Generic_Text, Profile.name)}"

に文字列書式を使用した場合 Generic_Text 文字列です。 %s 末尾に