2013-05-20 34 views
0

我想从网上下载一堆图像,然后使用我的自定义PagerAdapter显示它们。所以我可以滑动浏览所有这些图像。android使用ViewPager来显示图像

我定义了一个名为PhotoSlideActivity的活动,其范围从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; 
     } 
    } 

以下是我的PhotoSlidePageFragmentmImageFetcher是一个异步下载图像的类。

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。把它放在onCreateViewonActivityCreated之间有什么区别吗?

(2)如果我将onActivityCreated替换成mImageFetcher = new ImageFetcher(); mImageFetcher.loadImage(mImageUrl, mImageView);会怎样?这样做意味着使用Fragment异步加载图像。这样做有什么不好的影响吗?

回答