public class PhotoViewpager extends ViewPager {
public PhotoViewpager(Context context) {
super(context);
}
public PhotoViewpager(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
try {
return super.onInterceptTouchEvent(ev);
} catch (IllegalArgumentException e) {
//写自己要处理的error包括报错日志
e.printStackTrace();
Log.e("TAG", "onInterceptTouchEvent: " );
return false;
}
}
}
获得传过来的图片
public class Second extends AppCompatActivity {
private PhotoViewpager photoViewpager;
private ArrayList<String> key;
private ArrayList<View> list = new ArrayList<>();
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
photoViewpager = (PhotoViewpager) findViewById(R.id.tupian);
Intent intent = getIntent();
key = intent.getStringArrayListExtra("key");
//使用ImageLoader加载图片
DisplayImageOptions options = new DisplayImageOptions.Builder()
.cacheOnDisk(true)
.cacheInMemory(true)
.showImageOnFail(R.mipmap.ic_launcher)
.showImageForEmptyUri(R.mipmap.ic_launcher)
.showImageOnLoading(R.mipmap.ic_launcher)
.build();
PhotoView photoView1 = new PhotoView(Second.this);
ImageLoader.getInstance().displayImage(key.get(0),photoView1,options);
PhotoView photoView2 = new PhotoView(Second.this);
ImageLoader.getInstance().displayImage(key.get(0),photoView2,options);
PhotoView photoView3 = new PhotoView(Second.this);
ImageLoader.getInstance().displayImage(key.get(0),photoView3,options);
list.add(photoView1);
list.add(photoView2);
list.add(photoView3);
MAdapter adapter = new MAdapter();
photoViewpager.setAdapter(adapter);
}
class MAdapter extends PagerAdapter{
@Override
public int getCount() {
return list.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view==object;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
container.addView(list.get(position));
return list.get(position);
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView(list.get(position));
}
}
}