LiveData 重复观察者问题

时间:2021-02-21 17:20:44

标签: kotlin android-livedata observer-pattern

我不会解释为什么需要这段代码,但我的问题是以下代码是否会导致重复的观察者:

  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() 的重复观察者?

0 个答案:

没有答案