package my.project.washingcar.activity; import my.project.washingcar.R; import my.project.washingcar.utils.ImageUtil; import android.graphics.Bitmap; import android.os.Bundle; import android.os.Parcelable; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.ProgressBar; import com.nostra13.universalimageloader.core.assist.FailReason; import com.nostra13.universalimageloader.core.assist.SimpleImageLoadingListener; public class ActImagePager extends ActBase { private ViewPager pager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.act_image_pager); init(); } private void init() { initView(); initData(); } private void initView() { pager = (ViewPager) findViewById(R.id.pager); } private void initData() { Bundle bundle = getIntent().getExtras(); assert bundle != null; // String[] imageUrls = bundle.getStringArray(Extra.IMAGES); String url = "http://cz.focus.cn/ztdir/wdky/ztimages/cswd.jpg"; String[] imageUrls = new String[5]; for (int i = 0; i < imageUrls.length; i++) { imageUrls[i] = url; } pager = (ViewPager) findViewById(R.id.pager); pager.setAdapter(new ImagePagerAdapter(imageUrls)); } private class ImagePagerAdapter extends PagerAdapter { private String[] images; private LayoutInflater inflater; ImagePagerAdapter(String[] images) { this.images = images; inflater = getLayoutInflater(); } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } @Override public int getCount() { return images.length; } @Override public Object instantiateItem(ViewGroup view, int position) { View imageLayout = inflater.inflate(R.layout.item_pager_image, view, false); assert imageLayout != null; ImageView imageView = (ImageView) imageLayout .findViewById(R.id.image); final ProgressBar spinner = (ProgressBar) imageLayout .findViewById(R.id.loading); ImageUtil.display(images[position], imageView, new SimpleImageLoadingListener() { @Override public void onLoadingStarted(String imageUri, View view) { spinner.setVisibility(View.VISIBLE); } @Override public void onLoadingFailed(String imageUri, View view, FailReason failReason) { showToast(R.string.image_load_error); spinner.setVisibility(View.GONE); } @Override public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { spinner.setVisibility(View.GONE); } }); view.addView(imageLayout, 0); return imageLayout; } @Override public boolean isViewFromObject(View view, Object object) { return view.equals(object); } @Override public void restoreState(Parcelable state, ClassLoader loader) { } @Override public Parcelable saveState() { return null; } } }