我有一个遗留应用程序,它具有以下构建配置
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)中以列表形式加载了许多片段。实际错误我升级后得到的是“没有找到 .. 片段 ID 的视图”。我根本没有进行任何代码更改,只是更新了配置。
我试图调试它,但它似乎是一个支持库问题。我已经验证我对所有不同的依赖项(如 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)