0

I am using Vertical ViewPager while using setAdapter i'm checking whether the verticalViewPager and arrayPagerAdapter is Null or not but still i'm getting below Logcat exception on Few Devices but not in all devices.

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)

Here is my code while setting view pager:

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

In above code MainActivity.java:487 is verticalViewPager.setAdapter(arrayPagerAdapter);

Viks
  • 1,510
  • 4
  • 22
  • 50

1 Answers1

1

This is already a reported bug(report1, report2, report3, report4).

I was myself facing the problem and I moved from 'com.android.support:support-v4:23.1.1' to compile 'com.android.support:support-v4:23.1.0' and that solved the problem for me. So try to rollback the support library version and see if that works for you. Remember to rollback all the android support lib version to 23.1.0.

Rohit Arya
  • 6,751
  • 1
  • 26
  • 40
  • I am using v7:24.1.1 and i think it is not necessary to put v4. You mean should i use v7:23.1.0 ? – Viks Aug 25 '16 at 04:02
  • I am using targetSdkVersion 24 if i use v7:23.1.0 i have to use targetSdkVersion 23. It will make problem or not? – Viks Aug 25 '16 at 04:17
  • you can read about this [here](http://stackoverflow.com/questions/26694108/what-is-the-difference-between-compilesdkversion-and-targetsdkversion) and [here](http://stackoverflow.com/questions/24510219/what-is-the-difference-between-min-sdk-version-target-sdk-version-vs-compile-sd). It will clear things out. :) – Rohit Arya Aug 25 '16 at 04:21
  • Thank you for your answer. If i do not get this issue again i'll accept this answer. – Viks Aug 25 '16 at 04:28