0

Я использую Vertical ViewPager при использовании setAdapter я буду проверять ли verticalViewPager и arrayPagerAdapter является Null или нет, но до сих пор я получаю ниже исключения 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:487 является verticalViewPager.setAdapter(arrayPagerAdapter);

+0

Полноценный класс адаптера и класс асинхронного программирования – Rahul

+0

Вы также можете опубликовать свои зависимости от градиента? –

+0

@Rahul Я ничего не делаю в классе Async. Для адаптера я получаю помощь от этого https://github.com/takaaki7/ArrayPagerAdapter и im, используя ArrayFragmentPagerAdapter по этой ссылке –

ответ

1

Это уже сообщалось ошибка (report1, report2, report3, report4).

Я сам столкнулся с проблемой, и я перешел от 'com.android.support:support-v4:23.1.1' к компиляции 'com.android.support:support-v4:23.1.0', и это решило проблему для меня. Поэтому попробуйте отменить версию библиотеки поддержки и посмотреть, работает ли это для вас. Не забывайте откатывать всю версию lib поддержки поддержки 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. Это вызовет проблему или нет? –

Смежные вопросы