Я новичок в Kotlin и пытаюсь внедрить шаблон проектирования MVVM для разработки под Android. Я должен реализовать Recyclerview во фрагменте.
Как мы можем присвоить адаптеру со значением значение recyclerview из класса viewmodel, так как вызов API наблюдается внутри viewmodel.
Мой класс фрагментов выглядит как показано ниже
class NotesFragment : Fragment() {
lateinit var binding:FragmentNotesBinding
lateinit var viewModel:NoteListViewModel
companion object {
fun newInstance(param1: String): NotesFragment {
val fragment = NotesFragment()
val args = Bundle()
fragment.arguments = args
return fragment
}
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
binding = DataBindingUtil.inflate(inflater,R.layout.fragment_notes,container,false)
viewModel = NoteListViewModel(binding)
return binding.root
}
это хорошая практика, что мы передаем объект привязки нашему классу viewmodel и снова обновляем объект viewModel из класса ViewModel, как показано ниже
private fun onSuccess(success: NoteResponse?) {
dataVisibility.value=View.VISIBLE
success.let {
noteAdapter= noteAdapter(documentResponse?.result,mContext)
binding.viewModel=this
}
}