Android 如何在带有数据绑定的文本视图中使用字符串变量

Android how to use a string variable inside a textview with data binding

你好,我正在练习使用布局的技能,刚刚学习了数据绑定,我想知道如何在文本视图中使用像 defaultName 这样的变量,所以我正在尝试这样做:

android:text="@={`hi `+ myName.defaultName}"

我希望输出为:

hi Travis Scott

但是我得到了一个讨厌的错误:

cannot find symbol class ActivityMainBindingImpl
import com.example.nickname.databinding.ActivityMainBindingImpl;
[databinding] {"msg":"The expression \u0027(\"hi \") + (myNameDefaultName)\u0027 cannot be inverted, so it cannot be used in a two-way binding\n\nDetails: Two-way binding with string concatenation operator (+) only supports the empty string constant (`` or \"\")","file":"app\src\main\res\layout\activity_main.xml","pos":[{"line0":27,"col0":25,"line1":27,"col1":49}]}
                                       ^

我研究了错误,但没有找到解决方案。我研究了人们使用了哪些替代方法来解决这个问题,但我没有找到任何东西。我唯一找到的是这个“@={hi + myName.defaultName}”,就是这样。

您正在尝试双向绑定而不是单向绑定。只需删除“=”符号并更改括号

android:text='@{"hi" + item.title}'