1- package com .hjq .demo .ui .adapter ;
2-
3- import android .app .Activity ;
4- import android .support .annotation .NonNull ;
5- import android .support .v4 .view .PagerAdapter ;
6- import android .view .View ;
7- import android .view .ViewGroup ;
8-
9- import com .github .chrisbanes .photoview .PhotoView ;
10- import com .hjq .image .ImageLoader ;
11-
12- import java .util .List ;
13-
14- /**
15- * author : Android 轮子哥
16- * github : https://github.com/getActivity/AndroidProject
17- * time : 2019/03/05
18- * desc : 图片加载适配器
19- */
20- public final class ImagePagerAdapter extends PagerAdapter implements View .OnClickListener {
21-
22- private Activity mActivity ;
23- private List <String > mData ;
24-
25- public ImagePagerAdapter (Activity activity , List <String > data ) {
26- mActivity = activity ;
27- mData = data ;
28- }
29-
30- // 加载数量,自动回调
31- @ Override
32- public int getCount () {
33- return mData .size ();
34- }
35-
36- // 返回真表示不会重新创建,使用缓存加载。返回假则重新创建
37- @ Override
38- public boolean isViewFromObject (@ NonNull View view , @ NonNull Object object ) {
39- return view == object ;
40- }
41-
42- /**
43- * 实例化条目
44- * ViewPager预加载机制:最多保存3个page,超过的将需要被销毁掉
45- * 由于最多3个page,所以不需要设置ViewHolder
46- * 用于将数据设置给ViewItem
47- */
48-
49- @ NonNull
50- @ Override
51- public Object instantiateItem (@ NonNull ViewGroup container , int position ) {
52- PhotoView view = new PhotoView (mActivity );
53- view .setOnClickListener (this );
54- ImageLoader .loadImage (view , mData .get (position ));
55- // 将View添加到ViewPager
56- container .addView (view );
57- return view ;
58- }
59-
60- // 销毁条目
61- @ Override
62- public void destroyItem (@ NonNull ViewGroup container , int position , @ NonNull Object object ) {
63- container .removeView ((View ) object );
64- }
65-
66- @ Override
67- public void onClick (View v ) {
68- // 点击退出当前的 Activity
69- mActivity .finish ();
70- }
1+ package com .hjq .demo .ui .adapter ;
2+
3+ import android .app .Activity ;
4+ import android .support .annotation .NonNull ;
5+ import android .support .v4 .view .PagerAdapter ;
6+ import android .view .View ;
7+ import android .view .ViewGroup ;
8+
9+ import com .github .chrisbanes .photoview .PhotoView ;
10+ import com .hjq .image .ImageLoader ;
11+
12+ import java .util .List ;
13+
14+ /**
15+ * author : Android 轮子哥
16+ * github : https://github.com/getActivity/AndroidProject
17+ * time : 2019/03/05
18+ * desc : 图片加载适配器
19+ */
20+ public final class PhotoPagerAdapter extends PagerAdapter implements View .OnClickListener {
21+
22+ private Activity mActivity ;
23+ private List <String > mData ;
24+
25+ public PhotoPagerAdapter (Activity activity , List <String > data ) {
26+ mActivity = activity ;
27+ mData = data ;
28+ }
29+
30+ // 加载数量,自动回调
31+ @ Override
32+ public int getCount () {
33+ return mData .size ();
34+ }
35+
36+ // 返回真表示不会重新创建,使用缓存加载。返回假则重新创建
37+ @ Override
38+ public boolean isViewFromObject (@ NonNull View view , @ NonNull Object object ) {
39+ return view == object ;
40+ }
41+
42+ /**
43+ * 实例化条目
44+ * ViewPager预加载机制:最多保存3个page,超过的将需要被销毁掉
45+ * 由于最多3个page,所以不需要设置ViewHolder
46+ * 用于将数据设置给ViewItem
47+ */
48+
49+ @ NonNull
50+ @ Override
51+ public Object instantiateItem (@ NonNull ViewGroup container , int position ) {
52+ PhotoView view = new PhotoView (mActivity );
53+ view .setOnClickListener (this );
54+ ImageLoader .loadImage (view , mData .get (position ));
55+ // 将View添加到ViewPager
56+ container .addView (view );
57+ return view ;
58+ }
59+
60+ // 销毁条目
61+ @ Override
62+ public void destroyItem (@ NonNull ViewGroup container , int position , @ NonNull Object object ) {
63+ container .removeView ((View ) object );
64+ }
65+
66+ @ Override
67+ public void onClick (View v ) {
68+ // 点击退出当前的 Activity
69+ mActivity .finish ();
70+ }
7171}
0 commit comments