3 つのフラグメントを持つビューページャーを使用してアクティビティに取り組んでいます。
pick image インテントを開始した後、onactivityResult が呼び出されますが
、スターター アクティビティは破棄され、再度作成されます。
(アクティビティを保持しない、開発者設定をオンにしました。)
問題は、アクティビティが作成された後、フラグメントも再度作成されることです (ログを介して観察)
これは、アクティビティが再作成された後にログに表示されます。
E/Parcel: Class not found when unmarshalling: androidx.fragment.app.FragmentManagerState
java.lang.ClassNotFoundException: androidx.fragment.app.FragmentManagerState
onActivity の結果は、Activity>getsViewpager>getsAdapter>getsFragment
メソッドを介してプログラムでフラグメントに転送されます。
しかし、今getContext()
ではフラグメントで null を返します。(つまり、新しいフラグメントが作成されますonactivityResult
が、古いフラグメントに渡されますか?)古いフラグメントを再接続するか、onActivityResult
新しいフラグメントに渡す必要があると思います。
新しい/古いアクティビティ/フラグメントを区別するにはどうすればよいですか? アクティビティが再作成された後、フラグメントを簡単に復元するにはどうすればよいですか? アンマーシャリングエラー時にクラスが見つからない原因となる問題は何ですか。