Android Databinding:如何获取kotlin枚举类的字段值?

时间:2019-07-03 13:17:26

标签: android kotlin android-databinding

我有一个带有两个字段的枚举类:

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>

但是出现以下异常: 找不到带有参数字符串的属性“文本”的设置器

0 个答案:

没有答案