Android Architecture ComponentsのLiveData、使ってますか? MVVMを構築する上でViewModel側でライフサイクルを意識する必要がなく非常に使い勝手が良いのですが、あくまでデータとViewのバインドを実現する仕組みなので一度だけ実行される仕組みには向いていません。 画面遷移やダイアログの表示等、ViewModelから一度だけ発行されるイベントをView(Activity)がどうハンドリングすべきなのか対策を考えてみました。 そもそもなにがどう向いていないか LiveDataはバインドされたタイミングで値を流します。 AACのViewModelはActivityより生存期間が長いため、Activityが再生成されたタイミングで再バインドされることがあります。 つまり、そのままのLiveDataを一度しか発行しないイベントに対して使用するとActivi