ホスト アクティビティとフラグメントがあります。このフラグメントには、DB から AsyncTask にデータをロードし、GridView を更新する update メソッドがあります。
ホスト アクティビティからこのメソッドを呼び出すと、NullPointerExeption が発生することがありますが、その理由はわかりません...
インターフェイスであるアクティビティのメソッドは次のとおりです。
@Override
public void onDataSetChange() {
((CalendarFragment) getSupportFragmentManager().findFragmentByTag(Constants.FRAGMENT_CALENDAR_TAG)).updateGridView();
}
Fragment の update メソッドは次のとおりです。
public void updateGridView() {
// Loading the new updated data
mLoadingTask = new LoadingDataTask();
mLoadingTask.execute((Void) null);
}
logcat の例外は次のとおりです。
04-17 12:05:28.366: E/AndroidRuntime(17789): 致命的な例外: メイン 04-17 12:05:28.366: E/AndroidRuntime(17789): java.lang.NullPointerException 04-17 12:05:28.366: E/AndroidRuntime (17789): com.sk.neverforget.MainActivity.onDataSetChange (MainActivity.java:397) 04-17 12:05:28.366: E/AndroidRuntime (17789): com.sk.neverforget.fragments.DiaryFragment で$StoringDataTask.onPostExecute (DiaryFragment.java:543) 04-17 12:05:28.366: E/AndroidRuntime (17789): com.sk.neverforget.fragments.DiaryFragment$StoringDataTask.onPostExecute (DiaryFragment.java:1) で 04- 17 12:05:28.366: E/AndroidRuntime(17789): android.os.AsyncTask.finish(AsyncTask.java:631) 04-17 12:05:28.366: E/AndroidRuntime(17789): android.os で。 AsyncTask.access$600(AsyncTask.java:177) 04-17 12:05:28.366: E/AndroidRuntime(17789): android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644) 04-17 12:05:28.366: E/AndroidRuntime(17789): android.os.Handler.dispatchMessage(Handler.java:99) 04-17 12:05: 28.366: E/AndroidRuntime(17789): android.os.Looper.loop(Looper.java:137) 04-17 12:05:28.366: E/AndroidRuntime(17789): android.app.ActivityThread.main(ActivityThread) .java:5039) 04-17 12:05:28.366: E/AndroidRuntime(17789): java.lang.reflect.Method.invokeNative(ネイティブ メソッド) 04-17 12:05:28.366: E/AndroidRuntime(17789) : java.lang.reflect.Method.invoke(Method.java:511) 04-17 12:05:28.366: E/AndroidRuntime(17789): com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit) .java:793) 04-17 12:05:28.366: E/AndroidRuntime(17789): com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 04-17 12:05:28.366:E/AndroidRuntime(17789): dalvik.system.NativeStart.main(ネイティブメソッド)