将图像从Drawable添加到ArrayList时,RecylerView会丢失

时间:2017-09-29 11:43:01

标签: java android arraylist

我将图像加载到ArrayList中,然后使用GridLayout将其设置为RecylerView。图像被加载,一切看起来都很好。但是当我滚动RecylerView时它开始滞后。虽然图像完全加载但滚动时会出现延迟。

我遇到的一些答案是关于延迟加载图像或使用Glide或Picasso库。但是我该如何实现呢? 这是我如何添加图片。

MainActivity:

v0=-(1-0.02^2/2*9.81)/0.02=-49.9019  and  x(0.18)=-8.82342

这是我的适配器代码:

int imageArray[] = new int[]{
        R.drawable.one,
        R.drawable.two, R.drawable.three,
        R.drawable.four,R.drawable.five,...
};
private ArrayList prepareData(){
    ArrayList arrayList = new ArrayList();
    for(int i=0;i<names.length;i++){
        MyModel myModel = new MyModel();
        myModel.setDrawable(imageArray[i]);
        arrayList.add(myModel);
    }
    return arrayList;
}

3 个答案:

答案 0 :(得分:1)

如果您使用Glide,请使用以下代码使用Glide

将可绘制图像加载到imageview中
 Glide.with(context).load(R.drawable.yourImage).into(imageView);

其中&#34; context&#34;是你的活动背景 和&#34; imageView&#34;是ImageView的对象

答案 1 :(得分:0)

您还可以使用显示图像的网络调用库的本机代码,如果存在某种滞后现象,您可以在图像视图中添加进度条以获得良好的用户体验,并尝试使用AppCompatImageView而不是布局中的ImageView。

答案 2 :(得分:0)

最好使用Glide或Picasso加载图像。

尝试一下

Glide.with(yourContext).load(imageArray[position]).into(viewHolder.tv_logo);

图像加载将流畅,快速。

您也可以尝试毕加索。

快乐编码:)