この問題があります。アクティビティとその中にフラグメントがあります。アクティビティで非同期タスクを使用してデータをダウンロードしonCreate
、それをフラグメントで使用していますonCreate
(のようなものgetActivity().getData()
)。データがロードされた後にフラグメントをビューに入れているので、問題なく実行されます。問題は、バックグラウンドからアクティビティを再起動していて、このフラグメントがアクティブな場合、データがまだロードされていないため、すぐにロードされて NullPointerException がスローされることです。私の考えは、フラグメントでこれをチェックするonCreate
ことでした.nullデータを取得した場合は、それを破棄し、データを再ロードするためのアクティビティのメソッドを呼び出してから、フラグメントを再度起動します-それは可能ですか? これに対する解決策はありますか、それともより良いアプローチですか?
質問する
724 次
1 に答える
0
電話でデータをキャッシュすることが可能であれば、それを検討します。
アプリを (再) 起動するたびに (再開するたびに) データをリロードする必要がある場合は、Android ドキュメントのアクティビティ ライフサイクルを参照してください: http://developer.android.com/reference/android /app/Activity.html
onCreate() の代わりに、アクティビティの onResume() を @Overwrite してそこにデータをロードすれば、問題は解決するはずです。
于 2013-07-04T22:39:28.227 に答える