Android Architecture Components
を実装しています。あなたのFragment
がUIを変更するためにLiveData
を観察している次のような場合を想像してください。ユーザーはアプリケーションを最小限に抑え、状態は(私の場合はリポジトリから)変更されます。 Fragment
のObserver
は、Fragment
が表示されないため、変更されません。しかし、ユーザーがアプリに戻ると、新しい状態が発生しません。状態が再び変更された場合(Fragment
が表示されている間)、Observer
は変更を受け取ります。フラグメントが再び表示されたときに更新を強制する方法はありますか?フラグメント内のLiveData Observerを再度表示した後に変更を受け取るように強制しますか?
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
vm = ViewModelProviders.of(this, viewModelFactory).get(MyViewModel::class.java)
vm.getStatus()?.observe(this, Observer<MyRepository.Status> { status ->
if (status != null) {
when (status) {
NONE -> setNoneUI()
LOADING -> setLoadingUI()
CONTENT -> setContentUI()
ERROR -> setErrorUI()
}
}
})
}