私はこの問題を抱えています。テスト目的のために、ParseFile
をParseObject
のいずれかに追加しました。その行にのみ表示するのではなく、4〜5行ごとに表示します。私はリサイクル・ビューにこれと関係があることを認めています。不思議なことに、他のデータ(この例から削除)はposition
変数で正常に動作します。Recyclerviewアダプタとグライド - 4-5行ごとに同じイメージ
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
if(parseList.get(position).get("logo") != null){
ParseFile image = (ParseFile) parseList.get(position).get("logo");
String url = image.getUrl();
Glide.with(context)
.load(url)
.placeholder(R.drawable.piwo_48)
.transform(new CircleTransform(context))
.into(holder.imageView);
}
}
あなたはそれについてもっと詳しく説明できますか?これまでの答えはうまくいきましたが、 'clear() 'メソッドは薄い空気から実装されていないと思います。 –
彼らはほとんど仕事をしています。 onBindViewHolderを呼び出して、指定されたビューのロゴのある位置のロードを開始し、ロードが完了する前に同じViewHolderでonBindViewHolderを再度呼び出すと、空のビューの代わりに古いイメージが表示されます。この競合状態は以前のエラーよりもはるかに一般的ではありませんが、依然として可能です。 –
また、私はライブラリとclear()メソッドを書いたことを明確にする必要があります。このユースケースは、clear()メソッドが存在する理由の素晴らしい例です。新しいロードを開始する(古いロードをキャンセルする)か、ビューを再利用しているときに自分自身でロードをキャンセルする必要があります。 –