2013-05-20 3 views
0

웹에서 많은 이미지를 다운로드하고 내 맞춤 PagerAdapter를 사용하여 표시하고 싶습니다. 그래서 나는이 모든 이미지를 탐색하기 위해 슬라이드 할 수 있습니다.android에서 ViewPager를 사용하여 이미지 표시

에 이르는 PhotoSlideActivity으로 명명 된 활동을 정의합니다. 이 액티비티에는 내 자신의 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) 내 원래의 아이디어는 onCreateViewmImageFetcher.loadImage(mImageUrl, mImageView);을 넣어하는 것입니다. onCreateViewonActivityCreated에 어떤 차이가 있습니까?

(2) onActivityCreated에서 수행 한 작업을 mImageFetcher = new ImageFetcher(); mImageFetcher.loadImage(mImageUrl, mImageView);으로 바꾸면 어떻게 될까요? 이렇게하면 Fragment을 사용하여 이미지를 비동기 적으로로드 할 수 있습니다. 이 일을하는 데 나쁜 영향이 있습니까?

답변

관련 문제