0

我使用垂直ViewPager同時使用setAdapter我檢查是否verticalViewPagerarrayPagerAdapter或沒有,但還是我越來越logcat的例外下方少數設備但不是所有設備。只有少數設備獲取NullPointerException異常,同時使用setAdapter

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);

+0

老兄完整的適配器類和異步類 – Rahul

+0

你也可以發佈你的gradle依賴關係嗎? –

+0

@Rahul我在Async類上沒有做太多事情。對於適配器im從這個https://github.com/takaaki7/ArrayPagerAdapter獲得幫助,並使用此鏈接中的ArrayFragmentPagerAdapter –

回答

1

這已經是一個報告的bug(report1report2report3report4)。

我是我自己面臨的問題,我從'com.android.support:support-v4:23.1.1'移動到編譯'com.android.support:support-v4:23.1.0',這解決了我的問題。所以試着回滾支持庫版本,看看它是否適合你。請記住將所有Android支持庫版本回滾到23.1.0

+0

我使用v7:24.1.1,我認爲沒有必要把v4。你的意思是我應該使用v7:23.1.0嗎? –

+0

是的,你是對的。嘗試使用'v7:23.1.0'。 –

+0

我正在使用targetSdkVersion 24,如果我使用v7:23.1.0我必須使用targetSdkVersion 23.它會出現問題嗎? –