我不会解释为什么需要这段代码,但我的问题是以下代码是否会导致重复的观察者:
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
initializeRecyclerView()
viewModel = ViewModelProvider(this).get(TestViewModel::class.java)
updateUI()
viewModel.getNewItems().observe(viewLifecycleOwner, {
if (it != null && it == true){
updateUI()
}
})
}
fun updateUI(){
viewModel.getItems().observe(viewLifecycleOwner, Observer {
adapter.values = it
adapter.notifyDataSetChanged()
})
}
fun initializeRecyclerView() {
recyclerView.adapter = adapter
}
}
当 updateUI()
被多次调用时,这是否会创建 viewmodel.getItems()
的重复观察者?