回收站视图在向下滚动时崩溃
Recycler view crashes on scrolling down
当我向下滚动我的应用程序时,该应用程序无缘无故崩溃,我也没有收到任何错误报告。
这是我的适配器 class 的 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);
}
I think the problem is because I used position variable to fetch values and it get changed fast while scrolling and app is crashing so
这是一个错误的假设。回收站视图不会因为快速滚动而崩溃。
Can someone suggest me an alternative to this onBindViewHolder code?
不需要替代,一定是数据有问题
您是否尝试使用调试模式。如果位置优于数据列表中的项目数,则可能会发生崩溃。
在任何情况下,它都会告诉你是哪一行导致了你的崩溃。如果您没有任何日志,它可能来自其他地方
当我用低分辨率图像更改所有图像时,问题已解决,图像大小是问题所在。 Recyclerview 无法保存高分辨率的图像。
当我向下滚动我的应用程序时,该应用程序无缘无故崩溃,我也没有收到任何错误报告。 这是我的适配器 class 的 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);
}
I think the problem is because I used position variable to fetch values and it get changed fast while scrolling and app is crashing so
这是一个错误的假设。回收站视图不会因为快速滚动而崩溃。
Can someone suggest me an alternative to this onBindViewHolder code?
不需要替代,一定是数据有问题
您是否尝试使用调试模式。如果位置优于数据列表中的项目数,则可能会发生崩溃。 在任何情况下,它都会告诉你是哪一行导致了你的崩溃。如果您没有任何日志,它可能来自其他地方
当我用低分辨率图像更改所有图像时,问题已解决,图像大小是问题所在。 Recyclerview 无法保存高分辨率的图像。