我有3个碎片。这些片段被放置到 TabsAdapter 中,用于在这些片段之间切换。
问题在于,当应用程序加载并创建 fragmentA 视图时,它会下载图像,然后更改图像视图:
@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.- 第二个片段 6.- 我再次滑动到第三个片段。7. 第三个片段。8.我回到第一个片段,图像不再加载。显然我不会再次调用 DownloadImageTask,因为它会降低很多用户体验。
我应该怎么做才能保留图像?
哦,顺便说一句。如果我只是从第 1 次滑动到第 2 次,则图像不会“卸载”,如果我转到第 3 次或更远,就会发生这种情况。知道为什么会这样吗?我只是对此感到好奇。
谢谢!