ArrayListに画像をロードし、GridLayoutでRecylerViewに設定しています。画像が読み込まれ、すべてがうまく見えます。しかし、私がRecylerViewをスクロールすると、遅れが始まります。画像は完全にロードされていますが、スクロール中は遅れがあります。DrawableからArrayListに画像を追加するときにRecylerViewの遅延が発生する
私が遭遇したいくつかの答えは、イメージの読み込みや、グライドやピカソのライブラリの使用でした。しかし、私はそれをどのように実装できますか? イメージを追加する方法は次のとおりです。
MainActivity:
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;
}
ここに私のアダプタのコードがあります:
@Override
public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.images_card, viewGroup, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(ViewHolder viewHolder, int i) {
viewHolder.tv_logo.setImageResource(mArrayList.get(i).getDrawable());
}
私はグライドまたはピカソを使用していないので、このコードを追加する必要があります。 – Rohn
.gradleファイルに 'com.github.bumptech.glide:glide:4.0.0'をコンパイルしてから、上記のコードをアダプタで使用する必要があります –