Я довольно новичок в использовании Kotlin, я попытался перенести свой проект с Java на Kotlin.По сути, у меня есть вспомогательный класс, который пытается инициализировать макет повторного просмотра, адаптер и т. Д.
В java: Adapter
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder>
{
...
public static class ViewHolder extends RecyclerView.ViewHolder
{
...
}
...
}
моя вспомогательная функция:
public void init(RecyclerView recyclerView, boolean horizontal, boolean divider, RecyclerView.Adapter adapter, Context context)
Когда я создал адаптер и вызвал функцию, он работает нормально.
Но в Kotlin: Adapter
class MyAdapter(...) : RecyclerView.Adapter<MyAdapter.ViewHolder>() {
...
inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
...
}
...
}
вспомогательная функция
fun init(recyclerView : RecyclerView, horizontal: Boolean, divider: Boolean, adapter: RecyclerView.Adapter<RecyclerView.ViewHolder>, context: Context) {
...
}
, когда я создалАдаптер и вызов функции
val myAdapter = MyAdapter(...)
helper.init(listView, false, false, myAdapter, this)
Я получил ошибку несоответствия, где это требуется: RecyclerView.Adapter<RecyclerView.ViewHolder>
и нашел: MyAdapter
Наследование мудрое, оно должно работать правильно?или я что-то пропустил?
Спасибо!