Listview setOnItemClickListener in getItemAtPosition give item position not give value. wheb click on Listview item then give Error : java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String. I will try to after .toString it's give integer value. so, How to get Item value Listview item.
Code
listView.setOnItemClickListener { parent, view, position, id ->
val query : String = parent.getItemAtPosition(position) as String
searchView?.setQuery(query,true)
}
Create Custom ListView Using BaseAdapter.
SearchAdapter.kt
class SearchAdapter(val searchList : ArrayList<Search>, val context: Context) : BaseAdapter() {
override fun getCount(): Int {
return searchList.size
}
override fun getItem(position: Int): Any {
return position
}
override fun getItemId(position: Int): Long {
return position.toLong()
}
override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View {
val convertView = LayoutInflater.from(context).inflate(R.layout.textview_list,parent,false)
val image = convertView.findViewById<ImageView>(R.id.imageViewHistory)
val textView = convertView.findViewById<TextView>(R.id.text_list_view)
val imageClear = convertView.findViewById<ImageView>(R.id.imageViewClear)
val search = searchList.get(position)
image.setImageResource(R.drawable.ic_baseline_search_24)
textView.text = search.search
return convertView
}
}
in SearchAdapter :
in setOnItemClickListener :