Tablayout с viewpager и FragmentPagerAdapter вылетает при вертикальной прокрутке после инструментов сборки и обновления sdk - PullRequest
0 голосов
/ 23 сентября 2018

У меня есть устаревшее приложение, которое имело следующие конфигурации сборки

targetSdkVersion 23 compileSdkVersion 23 buildToolsVersion 23.0.2 SupportLibVersion 23.4.0 gradle 2.2.0

, и я обновил их до

gradle версия 3.1.4 targetSdkVersion 27 compileSdkVersion 27 buildToolsVersion 27.0.3 SupportLibVersion 27.1.1 Ограничение макета 1.0.2

Теперь, когда я запускаю приложение в эмуляторе или мобильном устройстве, приложение, которое имеет домашний экран в виде окна просмотра Tablayoutс количеством фрагментов, загружаемых в виде списка на каждой странице (FragmentPagerAdapter), происходит сбой при вертикальной прокрутке любого из элементов вкладки. Фактическая ошибка, которую я получаю после этого обновления: «Не найдено представление для идентификатора .. фрагмента».Я вообще не вносил никаких изменений в код, только обновленные конфигурации.

Я пытался отладить это, но, похоже, это проблема с поддержкой библиотеки.Я подтвердил, что использую одну и ту же версию библиотеки поддержки для всех различных зависимостей, таких как appcompat, design, recyclerview, annotation и т. Д. Пожалуйста, предложите решение.

Примечание. Я попытался понизить версию библиотеки поддержки и выполнить отладку, еслиЯ перехожу на 23.4.0, сбой не происходит, с 25.2.0 он вылетает.

 Activity state:
  09-23 14:14:30.214 11596-11596/com.*** E/AndroidRuntime: 
  FATAL EXCEPTION: main
  Process: com.****, PID: 11596
  java.lang.IllegalArgumentException: No view found for id 0x7 (unknown) for fragment ****Fragment{a92e376 #2 id=0x7}
    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1293)
    at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1528)
    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1595)
    at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:757)
    at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2355)
    at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2146)
    at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2098)
    at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2008)
    at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:710)
    at android.os.Handler.handleCallback(Handler.java:751)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:154)
    at android.app.ActivityThread.main(ActivityThread.java:6077)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
...