回收器视图在向下滚动时崩溃

时间:2018-01-10 13:24:17

标签: android android-recyclerview crash-reports

当我向下滚动我的应用时,应用无故崩溃,我也没有收到任何错误报告。 这是我的适配器类的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);

}

3 个答案:

答案 0 :(得分:1)

当我用低分辨率图像更改所有图像时,问题就解决了,图像尺寸就是问题所在。 Recyclerview无法以高分辨率保存图像。

答案 1 :(得分:0)

  

我认为问题是因为我使用位置变量来获取值,并且在滚动和应用程序崩溃时它会快速更改

这是一个错误的假设。由于快速滚动,Recycler视图不会崩溃。

  

有人可以建议我替代这个onBindViewHolder代码吗?

不需要替代方案,数据中必定存在一些问题

答案 2 :(得分:0)

您是否尝试使用调试模式?如果位置优于数据列表中的项目数,则可能发生崩溃。 无论如何,它会告诉你哪一行导致你崩溃。如果您没有任何日志,它可能来自其他地方