.代码片段1
if(imgUrls.size() > 1){position = position + 200 * imgUrls.size();}viewPager.setCurrentItem(position);
代码片段2
private class MyPagerAdapter extends PagerAdapter {
@Overridepublic void destroyItem(View view, int i, Object object) {ViewPager viewPager = (ViewPager) view;View view2 = (View) object;viewPager.removeView(view2);}@Overridepublic void finishUpdate(View arg0) {}@Overridepublic int getCount() {if (imgUrls != null) {if (imgUrls.size() > 1) {return Integer.MAX_VALUE;} else {return imgUrls.size();}}return 0;}@Overridepublic Object instantiateItem(View view, int i) {i = i % imgUrls.size();ViewPager viewPager = (ViewPager) view;View view2 = getView(i, imgUrls, context);viewPager.addView(view2);return view2;}@Overridepublic boolean isViewFromObject(View view, Object object) {return view == object;}@Overridepublic void restoreState(Parcelable arg0, ClassLoader arg1) {}@Overridepublic Parcelable saveState() {return null;}@Overridepublic void startUpdate(View arg0) {}}
代码片段3
public View getView(int position, List<String> urls, Context context) {View view = null;int size = urls.size();position = position % size;LayoutInflater inflater = LayoutInflater.from(context);view = inflater.inflate(R.layout.page_item, null);ImageUtil.setDrawable(view, urls.get(position));return view;}
如果我们在多个Activity之间进行左右滑动,那么可以采用如下的代码获得View,以实现在多个Activity之间进行左右滑动
private View getView(String id, Class<?> clazz, Serializable data) {Intent intent = new Intent();Bundle bundle = new Bundle();bundle.putSerializable("data",data);intent.putExtras(bundle);intent.setClass(this, clazz);/*getLocalActivityManager是ActivityGroup的一个方法*/return getLocalActivityManager().startActivity(id, intent).getDecorView();}
结束!