FlipViewで画像をキャッシュできる方法はありますか? FlipView には既に (20) の画像を読み込むことができますが、読み込みに時間がかかるため、AsyncTask を使用して実行しています。しかし、私の主な質問は、FlipView でアイテム、たとえばアイテム #15 を選択すると、#15 の詳細ページが表示され、押し戻すと、FlipView にはまだ #15 が表示され、表示されないということですFlipView 全体をリロードし、項目 1 からやり直します。次のように、FlipView に画像を読み込んでいます。
private int imageID[]={
R.drawable.x1,
R.drawable.x2,
R.drawable.x3,
R.drawable.x4,
R.drawable.x5,
R.drawable.x6,
R.drawable.x7,
R.drawable.x8,
R.drawable.x9,
R.drawable.x10,
R.drawable.x11,
R.drawable.x12,
R.drawable.x13,
R.drawable.x14,
R.drawable.x15,
R.drawable.x16,
R.drawable.x17,
R.drawable.x18,
R.drawable.x19,
R.drawable.x20
};
ImageView[] image = new ImageView[20];
private ViewFlipper FlipV = null;
private class asyncImage extends AsyncTask<Void, Void, Void>{
int i;
@Override
protected Void doInBackground(Void... params) {
for (i=0;i<imageID.length;i++){
image[i] = new ImageView(getBaseContext());
image[i].setImageResource(imageID[i]);
image[i].setBackgroundDrawable(getResources().getDrawable(R.drawable.border));
image[i].setScaleType(ImageView.ScaleType.FIT_XY);
}
return null;
}
protected void onPostExecute(Void result){
for (int x=0;x<imageID.length;x++){
FlipV.addView(image[x]);
}
count = 1;
progDialog.dismiss();
txItem.setText(Integer.toString(count) + "/" + (imageID.length));
}
}
private void nextImage(){
if(count < imageID.length) {
this.FlipV.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.push_left_in));
this.FlipV.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.push_left_out));
this.FlipV.showNext();
count++;
txItem.setText(Integer.toString(count) + "/" + (imageID.length));
}
}