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
+ }
71
71
}
0 commit comments