如何解决java.lang.ClassCastException:androidx.databinding.adapters.ObservableListAdapter无法转换为android.widget.ArrayAdapter
我正在使用参考文献https://www.simplifiedcoding.net/android-spinner-with-search/
通过数据绑定实现带有搜索的微调框 <com.app.nursery.ui.util.search.SearchableSpinner
android:layout_width="match_parent"
android:layout_height="50dp"
android:entries="@{seedlingrequest.nurseries}"
app:hintText="Select" />
当我使用此字符串数组中的 android:entries =“ @ array / subjects” 时,效果很好,但是当我使用ViewModel中的数据绑定 android:entries =“ @ {seedlingrequest.nurseries} “ 抛出此异常java.lang.ClassCastException: androidx.databinding.adapters.ObservableListAdapter cannot be cast to android.widget.ArrayAdapter
,我不知道什么是observableListAdapter?
在setAdapter中获取此错误
override fun setAdapter(adapter: SpinnerAdapter) {
if (!_isFromInit) {
_arrayAdapter = adapter as ArrayAdapter<*>
if (!TextUtils.isEmpty(_strHintText) && !_isDirty) {
val arrayAdapter: ArrayAdapter<*> =
ArrayAdapter<Any?>(
_context,android.R.layout.simple_list_item_1,arrayOf(
_strHintText
)
)
super.setAdapter(arrayAdapter)
} else {
super.setAdapter(adapter)
}
} else {
_isFromInit = false
super.setAdapter(adapter)
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。