绑定 Html 的用户数据绑定。 fromHtml 字符串 android
Posted
技术标签:
【中文标题】绑定 Html 的用户数据绑定。 fromHtml 字符串 android【英文标题】:User Data Binding to Bind Html. fromHtml String android 【发布时间】:2020-04-15 07:50:12 【问题描述】:嗨,我是 mvvm 结构的新手,我在这里学习新东西。目前我已将默认字符串与我的视图绑定,我有多种颜色的文本,因此我选择使用 html.fomHTml 螺母,我无法使用任何人都可以帮助解决我的测试代码下方的此绑定问题 ....
数据>
<import type="android.text.Html"/>
<variable
name="loginviewmodel"
type="app.road2xtech.neighbourhood.view.viewmodel.LoginViewModel" />
</data>
<TextView
android:id="@+id/textViewAccount"
android:layout_
android:layout_
android:layout_marginBottom="56dp"
android:fontFamily="@font/raleway_regular"
android:gravity="center"
android:text="@=Html.fromHtml(loginviewmodel.accountString)"
android:textColor="@android:color/black"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
它会给我以下错误
The expression 'android.text.Html.fromHtml(loginviewmodelAccountString)' cannot be inverted, so it cannot be used in a two-way binding
Details: There is no inverse for method fromHtml, you must add an @InverseMethod annotation to the method to indicate which method should be used when using it in two-way binding expressions
【问题讨论】:
这样试试 android:text="@Html.fromHtml(loginviewmodel.accountString)" 也停止在 xml 中编写代码。这是一种不好的做法,而且很难调试。 @Black4Guy 是的,这对我有用 【参考方案1】:这叫two-way data binding。
android:text="@=Html.fromHtml(loginviewmodel.accountString)"
InverseMethod 注释可以应用于双向数据绑定中使用的任何方法。因此,如果您不需要双向绑定,那么总结一下您的 XML,然后请使用它。
android:text="@Html.fromHtml(loginviewmodel.accountString)"
这会奏效。 :)
【讨论】:
这种方式叫做不好的做法还是可以的? 使用数据绑定没问题。如果这不是上帝的方法,android 就不会首先启动它。以上是关于绑定 Html 的用户数据绑定。 fromHtml 字符串 android的主要内容,如果未能解决你的问题,请参考以下文章
在 Android 中使用 Html.fromHtml() 突出显示文本颜色?