问题描述
我正在使用参考文献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?
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 (将#修改为@)