Web から大量の画像をダウンロードし、カスタム PagerAdapter を使用して表示したいと思います。したがって、スライドしてこれらの画像をすべて閲覧できます。
PhotoSlideActivityから拡張される as という名前のアクティビティを定義しますFragmentActivity。この活動では、私は自分の を持っていPagerAdapterます。以下は私のコードです:
private class PhotoSlidePagerAdapter extends FragmentStatePagerAdapter {
private final int mSize;
public PhotoSlidePagerAdapter(FragmentManager fm, int size) {
super(fm);
mSize = size;
}
@Override
public Fragment getItem(int position) {
PhotoUrl photoUrl = new PhotoUrl(position);
return PhotoSlidePageFragment.create(photoUrl.makePhotoUrl());
}
@Override
public int getCount() {
return mSize;
}
}
以下は私のPhotoSlidePageFragmentです。mImageFetcher非同期で画像をダウンロードするクラスです。
public class PhotoSlidePageFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View v = inflater.inflate(R.layout.fragment_photo_slide_page, container, false);
mImageView = (ImageView) v.findViewById(R.id.imageView1);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
// Use the parent activity to load the image asynchronously into the ImageView
if (PhotoSlideActivity.class.isInstance(getActivity())) {
mImageFetcher = ((PhotoSlideActivity) getActivity()).getImageFetcher();
mImageFetcher.loadImage(mImageUrl, mImageView);
}
}
(1) 私の最初のアイデアは、 を入れることmImageFetcher.loadImage(mImageUrl, mImageView);ですonCreateView。onCreateView入れるのと入れるのに違いはありますonActivityCreatedか?
(2) で行ったことを に置き換えるとどうonActivityCreatedなりmImageFetcher = new ImageFetcher(); mImageFetcher.loadImage(mImageUrl, mImageView);ますか? これを行うことは、使用Fragmentして画像を非同期的にロードすることを意味します。これを行うことで悪影響はありますか?