Intereting Posts
Ошибка аутентификации маркера Firebase Как использовать дизайн материалов в приложении для Android? Android-приложение beta / alpha test apk не устанавливает Сделать заявку Volley в другой теме Как реализовать onclick в javascript и html для устройств с более низкими версиями Android? Как реализовать logout beaviour в android Webview избегает предупреждения безопасности из игры Google при реализации onReceivedSslError Как установить URL-адрес в WebView из файла макета xml на Android? Последние запросы не отображаются, пользовательские предложения Используйте поле local.properties при объявлении buildConfigField Android: использует setContentView несколько раз плохо при изменении раскладок? Не удается отладить образцы NDK с Android Studio 1.3.2 в Windows Время выполнения приложения Android: как сделать анимацию перехода на значки меню панели инструментов? Android Studio внезапно не разрешает символы, связанные с библиотекой braintree (external)?

Я хочу конкатрировать две строки для TextView в android, Data Binding Api

Я использую DataBinding Api для установки представлений в макетах android. Вот мой макет.

layout.xml

 <?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android"> <data> <variable name="user" type="testing.sampleapp.com.sampleapp.User"/> </data> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@{ "Hello " + user.firstName}"/> </LinearLayout> 

Я хочу, чтобы TextView отображал Hello UserName . Как это сделать, используя привязку данных api.

    Примирить его с серьезным акцентом (`)

     android:text="@{`Hello ` + user.firstName}"/> 

    Объявить строку в strings.xml

    Например "Hello %$1s , (whatever you want to add then add here)" .

    String.format(stringResource, upsatename); использовать String.format(stringResource, upsatename);

    Поскольку xml поддерживает одинарные кавычки для значений атрибута, вы также можете сделать это:

     android:text='@{"Hello "+user.firstName}' 

    Сделать concat в xml-макете:

     <data> /*This is used for android view*/ <import type="android.view.View" /> /*This is used for android resources*/ <import type="com.myapp.R" /> /*This is app context*/ <variable name="context" type="android.content.Context" /> /*This is used for model data*/ <variable name="item" type="com.myapp.models.Chapter" /> </data> android:text="@{item.serialNo.concat(@string/space).concat(item.title)}" 

    В strings.xml я добавил код для пробела:

     <string name="space">\u0020</string>