Android:模型绑定Spinner在其条目列表中重置为第一个值

时间:2018-03-11 14:28:11

标签: android data-binding kotlin android-spinner android-8.1-oreo

我使用Androids绑定来填充我的Spinner并在模型中设置所选项目。这到目前为止工作正常。但是当我加载一个具有先前设置的Spinner值的模型时,它总是被设置为Spinners列表中的第一个项目。

这是布局文件中的Spinners摘录:

<Spinner
    android:id="@+id/typeSpinner"
    android:layout_width="match_parent"
    android:layout_height="@dimen/spinner_height"
    android:layout_marginEnd="16dp"
    android:entries="@{obj.CREATOR.TYPES}"
    android:selectedItemPosition="@={obj.toInt(obj.type)}"/>

用于绑定的转换方法:

@InverseMethod("toPhoneType")
fun toInt(@TYPE phoneType: String): Int {
    return TYPES.indexOf(phoneType)
}

fun toPhoneType(@TYPE ordinal: Int): String {
    return TYPES[ordinal]
}

我找到了this旧帖子,但是(已接受的)解决方案已经适用于我的代码。

0 个答案:

没有答案