私はbottomNavigationViewとナビゲーションコンポーネントを使用しています。別のタブに切り替えて元のタブに戻った後、フラグメントを破棄しない方法を教えてください。たとえば、A、B、Cの3つのタブがあります。開始タブはAです。Bに移動してからAに戻ります。タブAに戻ったときに、再作成したくありません。どうやって?ありがとう
未解決の問題 のように、ナビゲーションは複数のバックスタックを直接サポートしていません。つまり、フラグメントは複数のバックスタックをサポートしていないため、AまたはCからBに戻るときにスタックBの状態を保存します。
このコメント に従って:
NavigationAdvancedSampleが https://github.com/googlesamples/Android-architecture-components/tree/master/NavigationAdvancedSample で入手できるようになりました
このサンプルでは、下部のナビゲーションタブごとに1つずつ、複数のNavHostFragmentsを使用して、複数のバックスタックをサポートするFragment APIの現在の制限を回避します。
複数のバックスタックをサポートするFragment APIと、作成後にプラグインするNavigation APIに進みます。これにより、
NavigationExtensions.kt
ファイルなどの必要がなくなります。この問題を引き続き使用して、その作業を追跡します。
したがって、今すぐアプリでNavigationAdvancedSampleアプローチを使用し、問題にスターを付けて、根本的な問題が解決され、直接サポートがNavigationに追加されたときに更新を取得できます。
フラグメントに ViewModels を使用してみてください。