IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> View State but received class androidx.recyclerview.widget.RecyclerView$SavedState instead same id -> 正文阅读

[移动开发]View State but received class androidx.recyclerview.widget.RecyclerView$SavedState instead same id

java.lang.IllegalArgumentException: Wrong state class, expecting View State but received class androidx.recyclerview.widget.RecyclerView$SavedState instead. This usually happens when two views of different type have the same id in the same hierarchy. This view's id is id/0x1. Make sure other views do not use the same id.
? ? ? ? at android.view.View.onRestoreInstanceState(View.java:21045)

发生场景

app首页Viewpage+Fragment,app切换到后台或者其他应用在回到APP内的时候会出现这样的情况

复现

崩溃的机型是老板的mate40,多部mate测试机没有任何问题,即使内存不足点击app也只是正常流程启动app,就是没有mate40场景崩溃,boss多次反馈这个导致崩溃(贼尴尬)

后来想到一个方法就是开启横竖屏,模拟内存不足activity重启场景,果然重现了Id重复

解决方案

第一步:将所有fragment影藏起来一个一个放出来,这样很快就定位到是哪一个fragment的控件有问题

第二步:将第一步得到的fragment的layout里面感觉会重复的View注释掉,因为我知道是列表类Ui有问题,直接映象到RecyclerView、viewpage等控件,发现一个以前未使用的include的layout包含了一个ViewPager2,将这个ViewPage2注释掉就好了

根原因

在这里插入图片描述?

HomeMapFragment里的百度地图MapView 里面含有两个ImageView的id分别是0和1
这个id跟ViewPager2里面的 RecyclerView的id重复了。?

总结?

后来尝试将ViewPager2换成ViewPager或者其他的,都没有出现崩溃问题;好像ViewPager2Api是有Bug的存在,并不完善,之前也碰到过一次ViewPager2引发的BUG,后来换掉就解决了,忘记记录,希望给其他同行一点修改的参考,共同学习进步

如果不是ViewPager2引发的Bug,大家还可以通过打印所有View的Id找出重复的Id名字也是可以的,具体方案网上很多,就不再过多重复搬运了。

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-09-04 01:23:01  更:2022-09-04 01:27:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 4:48:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码