当我向下滚动我的应用时,应用无故崩溃,我也没有收到任何错误报告。 这是我的适配器类的onbindViewHolder。我认为问题是因为我使用位置变量来获取值,并且在滚动和应用程序崩溃时它会快速更改。有人可以建议我替代这个onBindViewHolder代码吗?
logcat的
E/HAL: PATH3 /odm/lib64/hw/gralloc.qcom.so
E/HAL: PATH2 /vendor/lib64/hw/gralloc.qcom.so
E/HAL: PATH1 /system/lib64/hw/gralloc.qcom.so
E/HAL: PATH3 /odm/lib64/hw/gralloc.msm8953.so
E/HAL: PATH2 /vendor/lib64/hw/gralloc.msm8953.so
PATH1 /system/lib64/hw/gralloc.msm8953.so
onBindViewHolder
public void onBindViewHolder(MyViewHolder myViewHolder, int position) {
myViewHolder.textView.setText(data.get(position).title);
myViewHolder.imageView.setImageResource(data.get(position).imageId);
}
答案 0 :(得分:1)
当我用低分辨率图像更改所有图像时,问题就解决了,图像尺寸就是问题所在。 Recyclerview无法以高分辨率保存图像。
答案 1 :(得分:0)
我认为问题是因为我使用位置变量来获取值,并且在滚动和应用程序崩溃时它会快速更改
这是一个错误的假设。由于快速滚动,Recycler视图不会崩溃。
有人可以建议我替代这个onBindViewHolder代码吗?
不需要替代方案,数据中必定存在一些问题
答案 2 :(得分:0)
您是否尝试使用调试模式?如果位置优于数据列表中的项目数,则可能发生崩溃。 无论如何,它会告诉你哪一行导致你崩溃。如果您没有任何日志,它可能来自其他地方