1
我使用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;
}
在的AsyncTask
@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??
}
什麼即時消失? 林新編程。 在此先感謝。
從服務器下載圖像請嘗試使用picasso –
爲什麼你傳遞位圖,你可以傳遞文件或Uri,現在對於android 7你可以使用FileProvider。 –