0

この問題があります。アクティビティとその中にフラグメントがあります。アクティビティで非同期タスクを使用してデータをダウンロードしonCreate、それをフラグメントで使用していますonCreate(のようなものgetActivity().getData())。データがロードされた後にフラグメントをビューに入れているので、問題なく実行されます。問題は、バックグラウンドからアクティビティを再起動していて、このフラグメントがアクティブな場合、データがまだロードされていないため、すぐにロードされて NullPointerException がスローされることです。私の考えは、フラグメントでこれをチェックするonCreateことでした.nullデータを取得した場合は、それを破棄し、データを再ロードするためのアクティビティのメソッドを呼び出してから、フラグメントを再度起動します-それは可能ですか? これに対する解決策はありますか、それともより良いアプローチですか?

4

1 に答える 1

0

電話でデータをキャッシュすることが可能であれば、それを検討します。

アプリを (再) 起動するたびに (再開するたびに) データをリロードする必要がある場合は、Android ドキュメントのアクティビティ ライフサイクルを参照してください: http://developer.android.com/reference/android /app/Activity.html

onCreate() の代わりに、アクティビティの onResume() を @Overwrite してそこにデータをロードすれば、問題は解決するはずです。

于 2013-07-04T22:39:28.227 に答える