我有一个带有两个字段的枚举类:
enum class MyEnum(val text1: String, val text2: String) {
A("a1", "a2"),
B("b1", "b2")
}
而且我想在XML中使用该字段值进行数据绑定。我的ViewModel提供了一个ObservableField<MyEnum>
,可以通过数据绑定将其用于XML:
class MyViewModel() : ViewModel() {
val myEnum = ObservableField<MyEnum>(MyEnum.A)
}
我尝试读取XML中的字段值
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<import type="com.example.MyEnum" />
<variable
name="vm"
type="com.example.MyViewModel" />
</data>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:text="@{vm.myEnum.text1}"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</FrameLayout>
</layout>
但是出现以下异常: 找不到带有参数字符串的属性“文本”的设置器