Я изучаю Kotlin после исключительно работы в Java ранее, и я столкнулся с небольшой ошибкой, которую не могу исправить.
Я пытался реализовать RecyclerView
, и все мои усилия потерпели неудачу. Я даже скопировал \ вставил код со страницы для разработчиков , чтобы увидеть, что я делаю неправильно, только чтобы столкнуться с той же проблемой. Прошло уже несколько часов, и я в замешательстве.
Почему я получаю эту ошибку из кода, который находится прямо со страницы разработчика \ как мне ее исправить?
MyAdapter.kt
import android.view.LayoutInflater
import android.view.ViewGroup
import android.widget.LinearLayout
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
class MyAdapter(private val myDataset: Array<String>) :
RecyclerView.Adapter<MyAdapter.MyViewHolder>() {
// Provide a reference to the views for each data item
// Complex data items may need more than one view per item, and
// you provide access to all the views for a data item in a view holder.
// Each data item is just a string in this case that is shown in a TextView.
class MyViewHolder(val textView: TextView) : RecyclerView.ViewHolder(textView)
// Create new views (invoked by the layout manager)
override fun onCreateViewHolder(parent: ViewGroup,
viewType: Int): MyAdapter.MyViewHolder {
// create a new view
val textView = LayoutInflater.from(parent.context)
.inflate(R.layout.my_text_view, parent, false) as TextView
// set the view's size, margins, paddings and layout parameters
return MyViewHolder(textView)
}
// Replace the contents of a view (invoked by the layout manager)
override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
// - get element from your dataset at this position
// - replace the contents of the view with that element
holder.textView.text = myDataset[position]
}
// Return the size of your dataset (invoked by the layout manager)
override fun getItemCount() = myDataset.size
}
Ошибка в logcat
java .lang.ClassCastException: android .widget.LinearLayout нельзя привести к android .widget.TextView