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
して画像を非同期的にロードすることを意味します。これを行うことで悪影響はありますか?