我想要在android,Data Binding Api中为一个TextView连接两个string

我使用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来实现这一点。

Solutions Collecting From Web of "我想要在android,Data Binding Api中为一个TextView连接两个string"

重音口音 (`)

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

strings.xml声明你的strings.xml

比如"Hello %$1s , (whatever you want to add then add here)"

amd use String.format(stringResource, upsatename);

由于xml支持属性值的单引号,你也可以这样做:

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

在xml布局中执行concat:

 <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>