情况如下:
我有一个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