웹에서 많은 이미지를 다운로드하고 내 맞춤 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) 내 원래의 아이디어는 onCreateView
에 mImageFetcher.loadImage(mImageUrl, mImageView);
을 넣어하는 것입니다. onCreateView
과 onActivityCreated
에 어떤 차이가 있습니까?
(2) onActivityCreated
에서 수행 한 작업을 mImageFetcher = new ImageFetcher(); mImageFetcher.loadImage(mImageUrl, mImageView);
으로 바꾸면 어떻게 될까요? 이렇게하면 Fragment
을 사용하여 이미지를 비동기 적으로로드 할 수 있습니다. 이 일을하는 데 나쁜 영향이 있습니까?