Picassoキャッシュに問題があります(私はそうだと思います)。私はRecyclerViewとRecyclerView.Adapterを作成しました。リストの1つの項目にはImageViewが含まれています。私はnotifyItemChangedメソッドを呼び出す項目を更新するとRecyclerview、otifyItemChanged()および画像Picassoによってロードされました
public void onBindViewHolder(PageViewHolder holder, int position) {
final int positionAdp = holder.getAdapterPosition();
(new Picasso.Builder(mContext).addRequestHandler(new PageThumbRequestHandler(mPagesContainer.get()))
.build())
.load(PageThumbRequestHandler.REQUEST_SCHEME + "://" + mPages.get(positionAdp).mTag)
.memoryPolicy(MemoryPolicy.NO_CACHE, MemoryPolicy.NO_STORE)
.networkPolicy(NetworkPolicy.NO_CACHE)
.into(holder.mThumbView);
holder.mThumbView.setTag(mPages.get(positionAdp).mTag);
holder.mThumbView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String tag = (String) v.getTag();
mPageListener.onPageSelected(tag);
}
});
holder.mLp.setText(Integer.toString(mPages.get(positionAdp).mLp));
}
:このImageViewのに私はこのようなピカソのライブラリを使用してイメージをロードします。画面上では、更新されたアイテムがフリックしているので、アイテムは正しく無効化されています。しかし、新しい親指は表示されません - 私は常にImageViewにビットマップを最初に読み込まれます。