在使用setAdapter时仅在少数设备上获取NullPointerException

时间:2016-08-25 03:35:05

标签: android android-fragments nullpointerexception android-viewpager android-adapter

我在使用ViewPager时使用垂直setAdapter我会检查verticalViewPagerarrayPagerAdapter是否为空,但是我仍然在少数设备上低于Logcat异常,但在所有设备中都没有。

Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'android.os.Handler android.support.v4.app.FragmentHostCallback.getHandler()' on a null object reference
   at android.support.v4.app.FragmentManagerImpl.execSingleAction(FragmentManager.java:1623)
   at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:637)
   at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:166)
   at com.inheadline.news.view.viewpager.VerticalViewPager.setAdapter(VerticalViewPager.java:278)
   at com.inheadline.news.activity.MainActivity.setupViewPager(MainActivity.java:487)
   at com.inheadline.news.activity.MainActivity.dataAdded(MainActivity.java:557)
   at com.inheadline.news.db.operation.DataSnapshotToDb$AddToDb.onPostExecute(DataSnapshotToDb.java:163)
   at com.inheadline.news.db.operation.DataSnapshotToDb$AddToDb.onPostExecute(DataSnapshotToDb.java:138)
   at android.os.AsyncTask.finish(AsyncTask.java:679)
   at android.os.AsyncTask.access$500(AsyncTask.java:180)
   at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:696)
   at android.os.Handler.dispatchMessage(Handler.java:102)
   at android.os.Looper.loop(Looper.java:150)
   at android.app.ActivityThread.main(ActivityThread.java:5546)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:684)

设置视图寻呼机时,这是我的代码:

if (verticalViewPager != null && arrayPagerAdapter != null) {
        verticalViewPager.setAdapter(arrayPagerAdapter);
        verticalViewPager.setSwipable(true);
        verticalViewPager.setOnPageChangeListener(pageChangeListener);
    } 

上面的代码MainActivity.java:487verticalViewPager.setAdapter(arrayPagerAdapter);

1 个答案:

答案 0 :(得分:1)

这已经是一个报告错误(report1report2report3report4)。

我自己正面临着这个问题,我从'com.android.support:support-v4:23.1.1'转到编译'com.android.support:support-v4:23.1.0',这解决了我的问题。因此,尝试回滚支持库版本,看看它是否适合您。请记住将所有Android支持lib版本回滚到23.1.0