【发布时间】:2019-08-24 22:00:02
【问题描述】:
我是 Kotlin 的初学者,正在尝试在 android 开发中实现 MVVM 设计模式。我必须在片段中实现 Recyclerview。 由于在 viewmodel 中观察到 api 调用,我们如何将带有值的适配器设置为 viewmodel 类中的 recyclerview。
我的片段类如下所示
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
}
}
【问题讨论】:
标签: mvvm kotlin data-binding android-recyclerview android-livedata