我有一个活动,我正在尝试加载AsyncTaskLoader
但是,我在行
中得到一个NullPointerExceptiongetSupportLoaderManager().initLoader(0,null,null).forceLoad();
工作正常,但我突然开始看到这次崩溃。
我花了好几个小时试图弄清楚它为什么会发生但找不到任何东西。
我的活动有以下导入:
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.app.LoaderManager;
import android.support.v4.content.AsyncTaskLoader;
import android.support.v4.content.Loader;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
并扩展AppCompatActivity
这是我的StackTrace供参考:
Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'android.support.v4.content.Loader android.support.v4.app.LoaderManager$LoaderCallbacks.onCreateLoader(int, android.os.Bundle)' on a null object reference
at android.support.v4.app.LoaderManagerImpl.createLoader(LoaderManager.java:539)
at android.support.v4.app.LoaderManagerImpl.createAndInstallLoader(LoaderManager.java:548)
at android.support.v4.app.LoaderManagerImpl.initLoader(LoaderManager.java:603)
at in.com.example.app.Activity.ExperiencesNTravel.CategoryVideoListActivity.onCreate(CategoryVideoListActivity.java:106)
at android.app.Activity.performCreate(Activity.java:6251)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
答案 0 :(得分:2)
#initLoader中的第三个参数需要" LoaderManager.LoaderCallbacks"打回来。你应该传入"这个"并实现回调,否则它将尝试在null上调用它。
答案 1 :(得分:0)
为了解决这个问题,我在我的 LoaderManager.LoaderCallbacks <Cursor>
中实现了 Fragment
及其方法,通过这种方式,我将 this
作为 initLoader 的第三个参数传递,并且它正常工作。