私は3つの断片を持っています。これらのフラグメントは、それらのフラグメント間でスワイプするために、TabsAdapter に配置されます。
問題は、アプリが読み込まれ、fragmentA ビューが作成されると、画像がダウンロードされ、その後、imageview が変更されることです。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
this.myFragmentView = inflater.inflate(R.layout.foto_setmana, container, false); //Això conté els "edittext i altres"
new DownloadImageTask(myFragmentView).execute("http://192.168.1.35/testing/fotos/foto1.jpg");
}
}
DownloadImageTask 内のコード:
public class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
View myfragmentview;
public DownloadImageTask(View myfragmentview) {
this.myfragmentview=myfragmentview;
}
protected Bitmap doInBackground(String... urls) {
String urldisplay = urls[0];
Bitmap mIcon11 = null;
try {
InputStream in = new java.net.URL(urldisplay).openStream();
mIcon11 = BitmapFactory.decodeStream(in);
Log.d("debugging","mIcon11"+mIcon11.getHeight());
} catch (Exception e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
return mIcon11;
}
protected void onPostExecute(Bitmap result) {
ImageView imv=(ImageView)this.myfragmentview.findViewById(R.id.imageView1);
imv.setImageBitmap(result);
}
これが起こっていることです:
1.- アプリをクリックします 2.- アプリが読み込まれます。この画面は、アプリが画像を取得する前に取得されたものです。3.- 画像を取得すると、表示されます。4.- フラグメントを次のフラグメントにスワイプします。5.- 2 番目のフラグメント 6.- 3 番目のフラグメントにもう一度スワイプします。7. 3 番目のフラグメント。8. 最初のフラグメントに戻ると、画像がロードされていません。明らかに、DownloadImageTask を再度呼び出すことはありません。これは、ユーザー エクスペリエンスが非常に遅くなるためです。
画像を保存するにはどうすればよいですか?
あ、ちなみに。1 番目から 2 番目にスワイプしただけでは、画像は「アンロード」されず、3 番目以降に移動すると発生します。なぜこれが起こっているのですか?私はちょうどこれについて興味があります。
ありがとうございました!