Как использовать привязку данных для объединения строки из ресурсов с динамической переменной в XML?

У меня есть 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 указано «Мое имя», тогда имя Profile.name является динамическим и, очевидно, изменяется от профиля к профилю. Я хочу, чтобы весь вывод TextView My Name был {Profile.name} . Любая помощь будет отличной.

Solutions Collecting From Web of "Как использовать привязку данных для объединения строки из ресурсов с динамической переменной в XML?"

Вы можете сделать это:

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

Если вы используете форматирование строк для своей строки Generic_Text . ех. %s в конце

Вы можете сделать это еще проще:

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

Строка должна быть такой:

 <string name="Generic_Text">My Name is %s</string>