私はデータを格納するために使用するSingleton Dataクラスを持っています。私は別のFragment
でアクセスしています。OnSaveInstanceState with Singleton
最初のFragment
がロードされても、シングルトン内のすべてのフィールドがnull
であることは問題ありません。 2番目のFragment
が表示されている場合は、これらのフィールドによってデータが表示されます。最初のFragment
は、これらのフィールドが確実に初期化されるようにします。ユーザが第2 Fragment
でホームボタンを押し、後の時間かそこらのようにそれを再度開くしかし
、シングルトンは、すべてのデータを失ってしまった、とFragment
はnull
フィールドにアクセスしようとします。
私はonSaveInstanceState
メソッドを実装したいと思っていましたが、私はこれがどのように動作するのかが困惑しています - それを割り当てるデータのインスタンスがありません。
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putSerializable("DATA", Data.getInstance());
}
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
savedInstanceState.getSerializable("DATA"); //What to do with this?
}
助けてください。
:あなたが行うことができ、あなたの断片...そうでなければ
では、あなたのシングルトンオブジェクトをシリアル化および非直列化可能なメンバオブジェクトを管理作ることができますしかし、なぜシングルトンがすべてのデータを失うのか理解できないのですか?アプリケーションはまだバックグラウンドで実行されていますか?私はアプリケーションで同じパラダイムを使用しており、このデータ損失は見られませんでした。 – Aviral
私はこの問題が発生しているので、それはそうですね。 – nhaarman
面白い!シングルトンのデータが何の原因で消滅するかについて考えているなら、投稿してください。これは私の心配を引き起こしている。ありがとう。 – Aviral