gpt4 book ai didi

android - java.lang.ClassCastException : CustomAdapter cannot be cast to android. widget.ArrayAdapter 在 Kotlin

转载 作者:行者123 更新时间:2023-11-29 15:35:55 28 4
gpt4 key购买 nike

当我尝试在 Kotlin 中创建自定义适配器类时出现上述错误

源代码

MainActivity.kt

 var adapterC:CustomAdapter = CustomAdapter(this,Statearray)
spinnerState.adapter=adapterC

CustomAdapter.kt

class CustomAdapter(val activity: Activity,val array:JSONArray) : BaseAdapter(), ListAdapter
{
lateinit var ItemName: TextView

override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View? {
var view=convertView
if (view == null)
view = activity.layoutInflater.inflate(R.layout.spinnerlayout, null)
try {

ItemName = view?.findViewById(R.id.ItemName) as TextView
val obj = array.getJSONObject(position)
ItemName.setText(obj.getString("Name"))
view.setTag(obj.getString("Id"))

} catch ( e:JSONException) {
Log.e("At Custom Class",e.toString())
}

return view
}

override fun getItem(position: Int): JSONObject {
return array.optJSONObject(position)
}

override fun getItemId(position: Int): Long {
var jsonObject=getItem(position)
return jsonObject.optLong("id")
}

override fun getCount(): Int {
return array.length()
}

}

需要帮助我不知道我做错了什么。

最佳答案

我终于弄明白了..问题是,我使用的是仅支持 ArrayAdapter 的微调器库

我使用的库是

com.toptoche.searchablespinner:searchablespinnerlibrary:1.3.1

它只支持数组适配器

关于android - java.lang.ClassCastException : CustomAdapter cannot be cast to android. widget.ArrayAdapter 在 Kotlin ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50362896/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com