Я пытаюсь создать приложение, используя Kotlin и архитектуру MVVM.
Я работаю с RecyclerView и прикрепляю прослушиватель кликов, как рекомендует Google
class ProductsFragment : Fragment() {
...
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
...
viewModelAdapter = myAdapter(myClickListener {
//Doing what i need with clicked item
})
...
}
...
}
class myClickListener(val listener: (ListItem) -> Unit) {
fun onClick(listItem: ListItem) = listener(listItem)
}
В этом простом примере прослушиватель кликов работает нормально. Но когда я пытаюсь изменить класс myClickListener, например:
class myClickListener(val listener: (ListItem, String) -> Unit) {
fun onClick(listItem: ListItem, action: String) = listener(listItem, action)
}
, у меня здесь ошибки компиляции
viewModelAdapter = myAdapter(myClickListener {
//Doing what i need with clicked item
})
Может кто-нибудь объяснить, как правильно передать измененный myClickListener на адаптер после моих изменений?