保存断片は、データ別のフラグメントへの切り替えは、ナビゲーションを使用して

ヤン荘:

私はちょうど私の最初のAndroidプロジェクトを開始しました。私のアプリケーションは、ナビゲーションコントローラに接続された2つの断片が含まれています。

今のように、私は私の最初のフラグメントに持っているすべては、2つだけのEditTextです。しかし、私は私の他の断片とナビゲートバックに切り替えると、入力されたテキストがクリアされていることを実現します。

だから私は、私は日付を保存して、私は戻ってそれを切り替えるときにそれらを復元するために何ができるかを知りたいのです

私はすでに、それらを保存しようとしている)(onSaveInstanceState人々の大多数により示唆されるように、しかし、それが機能していません。私は少しテストをしたので、判明onSaveInstanceStateは()私はフラグメントを切り替えたときにも呼び出されていません。その代わり、onDestroy()onPause()は、人々が私のデータを保存することはお勧めしませんものをと呼ばれています

私はまた、データを保存するためのViewModelを使用しようとしましたが、私が元のフラグメントに切り替える際のViewModelに保存されたデータも消えているようです。

何をすべきかわからない私はそう?ありがとう!

その際 :

あなたのFragment.onViewCreated()メソッド内で、活動の代わりに、フラグメントによってあなたのViewModelを作成し、ViewModelにを使用する必要があります

val myViewModel = ViewModelProvider(activity as ViewModelStoreOwner).get(MyViewModel::class.java)

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=352300&siteId=1