Navigationでログイン処理
この動画を見ていたらNavigation2.3から戻り値を返して画面を戻る事ができると知ったので動画のログインサンプルを写経しました。
MainFragment
このFragmentはログイン済みであれば通常処理を行い、未ログインの場合はログインFragmentへ遷移させます。
if (!(activity as MainActivity).getIsLogin())
この部分は本来Repositoryからログイン情報を取得する部分です。
stateHandle.getLiveData<Boolean>
ここでLoginFragmentから戻ってきた時にログインに成功したのかどうかを受け取ります。
LoginFragment
ログイン処理を行うFragmentです。
成功と失敗をそれぞれボタンにしてしまいました。
savedStateHandle.set(LOGIN_SUCCESSFUL, true)
ここでMainFragmentへ返却する値を設定します。
今回はBooleanですが、Stringなども返却できます。
最後に
ログイン部分だけを抜粋して記事にしましたが、動画を見てもらうことをおすすめします。