質問: new Bundle(); bundle.putSerializable("activity", new Object[]{ activity }); dailyFragment.setArguments(bundle); return dailyFragment; } ``` そして`Activity`を復元するときは以下のようにしました。 ``` (Activity)getArguments().getSerializable("activity") ``` しかし「`java.lang.Object[] cannot be cast to android.app.Activity`」とエラーが出てしまいます。 どうすれば`newInstance`内で`putSerializable`を使って`Activity`を保存して使うことができるでしょうか? どなたか分かる方がいれば教えていただきたいです。すみませんが、よろしくお願いします。
回答: 初めまして。 エラーの内容はObjectの配列はActivityにはキャストできないと出てますね。 これはできません。ActivityはあくまでObjectの子ですから。 また、Activity自身がSerializableを実装していないのでputSerializableで取得 はできないと思います。Parcelableも実装していないです。 Activityの何を具体的には保存したいのでしょうか? Activityの状態を保存するのでしたら、onSaveInstanceStateで取得できるbundle自身を bundleに格納する事もできます。bundleにbundleを入れる事もできますよ。 参考になると嬉しいです。