/** * */ package com.example.fudanbbs; import java.util.ArrayList; import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.ImageLoaderConfiguration; import android.app.Activity; 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.View.OnClickListener; import android.view.ViewGroup; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.widget.ImageSwitcher; import android.widget.ImageView; import android.widget.ViewSwitcher.ViewFactory; /** * @author Joseph.Zhong * */ public class ImageBrowserActivity extends Activity { private ViewPager viewpager; private ViewPagerAdapter viewpageradapter; private ImageView imageview; private ArrayList<View> imageviewlist; private String currentimage; private ArrayList<String> imagearray; private DisplayImageOptions options; private ImageLoader imageLoader; private ImageLoaderConfiguration config; private int index; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); Bundle bundle = getIntent().getExtras(); currentimage = bundle.getString("currentimage"); imagearray = bundle.getStringArrayList("imagearray"); setContentView(R.layout.imageviewpager); Log.v("imagebrowser", currentimage); Log.v("tag", imagearray.get(0)); // image loader configuration options = new DisplayImageOptions.Builder().cacheOnDisk(true).cacheInMemory(true) .showImageOnLoading(R.drawable.fudanbbsimageloading).resetViewBeforeLoading(true).build(); config = new ImageLoaderConfiguration.Builder(this).defaultDisplayImageOptions(options) .diskCacheFileNameGenerator(new Md5FileNameGenerator()).threadPriority(Thread.NORM_PRIORITY-2) .writeDebugLogs().build(); imageLoader = ImageLoader.getInstance(); imageLoader.init(config); // imageviewlist = new ArrayList<View>(); for(int i=0; i<imagearray.size(); i++){ if(currentimage == imagearray.get(i)){ index = i; } } viewpager = (ViewPager)findViewById(R.id.imageviewpager); viewpageradapter = new ViewPagerAdapter(imagearray); viewpager.setAdapter(viewpageradapter); viewpager.setCurrentItem(index); } public class ViewPagerAdapter extends PagerAdapter{ @Override public void destroyItem(ViewGroup container, int position, Object object) { // TODO Auto-generated method stub container.removeView((View) object); } @Override public void setPrimaryItem(ViewGroup container, int position, Object object) { // TODO Auto-generated method stub super.setPrimaryItem(container, position, object); } private ArrayList<String> imagelist; @Override public Object instantiateItem(ViewGroup container, int position) { ViewPager viewpager = (ViewPager)container; // TODO Auto-generated method stub // String url = "http://clubfiles.liba.com/2014/09/19/12/40403557.jpg"; imageview = new ImageView(ImageBrowserActivity.this); imageLoader.displayImage(currentimage, imageview); imageview.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub finish(); } }); // imageLoader.displayImage(imagelist.get(position), imageview); viewpager.addView(imageview); return imageview; } public ViewPagerAdapter( ArrayList<String> imagearray) { // TODO Auto-generated constructor stub this.imagelist = imagearray; } @Override public int getCount() { // TODO Auto-generated method stub return imagearray.size(); // return imagelist.size(); } @Override public boolean isViewFromObject(View arg0, Object arg1) { // TODO Auto-generated method stub return arg0 == arg1; } } }