私はMainActivityから呼び出されたフラグメントを持っています。このFragmentは、画像URLのJSONファイルを取得し、画像を画面に表示します。 私はFrescoライブラリを使用してこれらのイメージをダウンロードし、イメージリストビューとしてポップしました。画像はFrescoライブラリによって自動的にキャッシュされます。フラグメント内で押されたバックの画像キャッシュをクリアするには?
フラグメントからバックプレスを実行すると、キャッシュされたすべてのイメージが削除されます。私はあなたが何であったかと思います表示リスト方式
private void displayList() {
ArrayAdapter<gallery_adapter> adapter = new galleryAdapterList();
list.setAdapter(adapter);
}
public class galleryAdapterList extends ArrayAdapter<gallery_adapter> {
galleryAdapterList() {
super(context, R.layout.gallery_item, gallery_adapterList);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater inflater = LayoutInflater.from(context);
convertView = inflater.inflate(R.layout.gallery_item, parent, false);
}
gallery_adapter current = gallery_adapterList.get(position);
TextView mText=(TextView) convertView.findViewById(R.id.galleryText);
mText.setText(current.getText());
uri = Uri.parse(current.getUrl());
//code to remove images from cache
ImagePipeline imagePipeline = Fresco.getImagePipeline();
imagePipeline.evictFromCache(uri);
//code ends here
SimpleDraweeView mImage = (SimpleDraweeView) convertView.findViewById(R.id.galleryImage);
mImage.setImageURI(uri);
return convertView;
}
}
このメソッドはMainActivity権限で呼び出されますか?では、MainActivityのURLリストを入手して、キャッシュされないようにする方法を教えてください。 –
Applicationクラスを使用してURLのリストを取得したり、フラグメントとアクティビティの通信を宣言することができます。 – Herry
Thanks @Herry。詳細を取得するためにApplicationクラスを使用し、画像を表示するためにフラグメントに送信 –