情况如下:
我有一个RecyclerView
正在Fragment
使用DataBinding
. 它的适配器是一个ListAdapter
.
class MyFragment : Fragment() {
override fun onCreateView(...) {
val binding = // inflate layout with DataBindingUtil
val myListAdapter = MyListAdapter()
binding.recyclerView.adapter = myListAdapter
val myViewModel: MyViewModel by activityViewModels()
myViewModel.myLiveData.observe(viewLifecycleOwner, Observer {
println("before submit: ${myListAdapter.currentList}")
myListAdapter.submitList(it)
println("after submit: ${myListAdapter.currentList}")
})
return binding.root
}
}
Run Code Online (Sandbox Code Playgroud)
要显示的数据由 表示List<Double>
。设置后,列表将用于初始化 a,MutableLiveData
如下所示:
class MyViewModel : ViewModel() {
val data = listOf<Double>(/* init with some values */)
val myLiveData = MutableLiveData(data) …
Run Code Online (Sandbox Code Playgroud) android kotlin android-recyclerview android-livedata android-diffutils