package com.daifan.activity; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.util.Log; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import com.android.volley.toolbox.ImageLoader; import com.android.volley.toolbox.NetworkImageView; import com.daifan.R; import com.daifan.Singleton; import java.util.Arrays; public class ImagesActivity extends BaseActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_images); getSupportActionBar().setDisplayHomeAsUpEnabled(false); setTitle(R.string.image_viewer); ViewPager viewPager = (ViewPager) findViewById(R.id.view_images_viewpager); ImagePagerAdapter adapter = new ImagePagerAdapter(getDaifanApplication().getImageLoader()); Intent in = getIntent(); int currItem = 0; if (in != null) { String[] images = in.getStringArrayExtra("images"); if (images != null) adapter.setImages(images); currItem = in.getIntExtra("currItem", 0); Log.d(Singleton.DAIFAN_TAG, "images:" + Arrays.toString(images)); } viewPager.setAdapter(adapter); if (currItem > 0) viewPager.setCurrentItem(currItem); } private class ImagePagerAdapter extends PagerAdapter { private String[] images = new String[0]; public ImageLoader mImageLoader; public ImagePagerAdapter(ImageLoader imageLoader) { mImageLoader=imageLoader; } @Override public int getCount() { return this.images.length; } @Override public boolean isViewFromObject(View view, Object object) { return view == ((ImageView) object); } @Override public Object instantiateItem(ViewGroup container, int position) { Context context = ImagesActivity.this; NetworkImageView imageView = new NetworkImageView(context); int padding = context.getResources().getDimensionPixelSize(R.dimen.padding_medium); imageView.setPadding(padding, padding, padding, padding); imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); imageView.setImageUrl(images[position], mImageLoader); ((ViewPager) container).addView(imageView, 0); return imageView; } @Override public void destroyItem(ViewGroup container, int position, Object object) { ((ViewPager) container).removeView((ImageView) object); } public void setImages(String[] images) { this.images = images; } public String[] getImages() { return images; } } }