【发布时间】:2017-08-25 17:14:39
【问题描述】:
我正在使用AsyncTask 从url 下载一些图像。下载的图片我保存在Bitmap array。一旦它们被保存,我不知道如何将它们从一个fragment 传递给另一个。有人可以帮忙吗?
按下下载按钮:
d.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String [] urlArray = new String[]{URL_IMAGE_1, URL_IMAGE_2,URL_IMAGE_3,URL_IMAGE_4, URL_IMAGE_5};
asyncTaskA.execute(urlArray);
FrameLayout frameLayout = (FrameLayout)getView().findViewById(R.id.fragmentMain);
frameLayout.removeAllViewsInLayout();
FragmentTransaction ft = getChildFragmentManager().beginTransaction();
FragmentImages fragmentImages = new FragmentImages ();
ft.replace(R.id.fragmentMain,fragmentImages );
ft.addToBackStack(null);
ft.commit();
}
});
在 MainFragment 方法中:
public void getImages(Bitmap [] bitmaps){
imagesDownloaded = bitmaps;//private Bitmap [] imagesDownloaded;
images = imageDownloaded; //public stati Bitmap [] images;
}
在异步任务中
@Override
protected void onPostExecute(Bitmap[] bitmaps) {
fragmentMain.getImages(bitmaps);
}
目前为止在 FragmentImages 中
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
Bitmap[] bitmaps = FragmentA.images; // The array is null, why??
}
我缺少什么? 我是编程新手。 提前致谢。
【问题讨论】:
-
从服务器下载图片请尝试使用毕加索
-
你为什么要传递位图,你可以传递文件或 Uri,现在对于 android 7 你可以使用 FileProvider。
标签: java android arrays bitmap android-asynctask