我有一个recyclerView
,其中recyclerView
的项目中有一个textView
,有时其中包含链接。我使用richLinkPreview来预览我的链接,其中每个项目都有一个链接。但是,当我滚动recyclerView
时,我遇到的问题是每次查看带有链接的项目时,它都会带来链接数据并显示它,有时它显示错误的链接预览(显示项目A在项目中的链接预览B)。我认为我的问题是在richLinkPreview
方法内调用onBindViewHolder
,但据我所知,我没有任何选择。你能帮我吗?
答案 0 :(得分:0)
尝试一下:
public class Adapter extends RecyclerView.Adapter<Adapter.ViewHolder> {
private final SparseArray<MetaData> mFetchedMetadata = new SparseArray<>();
...
@Override
public void onBindViewHolder(final @NonNull Adapter.ViewHolder holder,
final int position) {
...
final MetaData metadata = mFetchedMetadata.get(position);
if (metadata != null) {
holder.richLinkView.setLinkFromMeta(metadata);
} else {
holder.richLinkView.setLink("url", new ViewListener() {
@Override
public void onSuccess(boolean status) {
mFetchedMetadata.put(position, holder.richLinkView.getMetaData());
}
@Override
public void onError(Exception e) {
}
});
}
...
}
...
}