bouzuya.hatenablog.com

ぼうずやのにっき

子どもはニコニコしている

疲れている。子どもはニコニコしている。


Fragment がいつ破棄されるのかよく分かっていない。 Fragment が破棄されなければ ViewModel も破棄されない。 Data Binding で android:onClick="@{() -> viewModel.click()}" して ViewModel で fun click() { liveData.value = Unit } する。あとは Fragment で viewModel.liveData.observe(this, Observer { ... }) でイベントが取れると思っていたのだけど。 observe で二回イベントを処理してしまうことがあった。

そこで LiveData<Event<T>> の形にして Event は一度処理されたらもう値を返さないことにした。おわり。