admin
2021-07-20 27bd1f81221b8c8e8047118a64c2beb7bc214bbb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
package com.mugua.mgvideo.ui.recommend;
 
import android.content.Context;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.widget.ImageView;
import android.widget.ImageView.ScaleType;
 
import com.bumptech.glide.Glide;
import com.mugua.mgvideo.MGVideoApplication;
import com.mugua.mgvideo.entity.HomeAd;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;
import com.yeshi.base.utils.JumpActivityUtil;
import com.yeshi.video.ui.VideoDetailActivity;
 
import org.json.JSONObject;
 
import java.util.Iterator;
import java.util.List;
 
import androidx.viewpager.widget.PagerAdapter;
 
import static com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions.withCrossFade;
 
public class RecommendTopAdapter extends PagerAdapter {
 
    private ImageLoader imageLoader = ImageLoader.getInstance();
 
    private DisplayImageOptions options;
 
    private List<HomeAd> mHomeAds;
 
    private Context context;
 
    public RecommendTopAdapter(List<HomeAd> homeAds, Context context) {
        super();
        this.context = context;
        this.mHomeAds = homeAds;
        this.options = new DisplayImageOptions.Builder()
                .resetViewBeforeLoading(true).cacheInMemory(true)
                .cacheOnDisk(true).imageScaleType(ImageScaleType.EXACTLY)
                .considerExifParams(true)
                .displayer(new FadeInBitmapDisplayer(300)).build();
    }
 
    @Override
    public int getCount() {
        return mHomeAds == null ? 0 : mHomeAds.size();
    }
 
    @Override
    public Object instantiateItem(ViewGroup container, final int position) {
        ImageView view = new ImageView(container.getContext());
        view.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
                LayoutParams.MATCH_PARENT));
        view.setScaleType(ScaleType.FIT_XY);
        view.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = null;
                if (mHomeAds.get(position).getLinkType() == 1) {
                    intent = new Intent(v.getContext(),
                            VideoDetailActivity.class);
                    intent.putExtra("video_info", mHomeAds.get(position)
                            .getVideo());
                } else {
                    try {
                        intent = new Intent(v.getContext(), Class
                                .forName(JumpActivityUtil.filterActivityName(mHomeAds.get(position).getClazz())));
                        if (mHomeAds.get(position).getParams() != null) {
                            JSONObject object = new JSONObject(mHomeAds
                                    .get(position).getParams()
                                    .replace("\\", ""));
                            @SuppressWarnings("unchecked")
                            Iterator<String> its = object.keys();
                            while (its.hasNext()) {
                                String key = its.next();
                                String value = object.optString(key);
                                intent.putExtra(key, value);
                                intent.putExtra("isPush", true);
                            }
                        }
 
                    } catch (ClassNotFoundException e) {
                        e.printStackTrace();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                MGVideoApplication.application.startActivity(intent);
            }
        });
        Glide.with(context).load(mHomeAds.get(position).getPicture())
                .transition(withCrossFade()).into(view);
        // imageLoader.displayImage(mHomeAds.get(position).getPicture(), view,
        // options);
        container.addView(view);
        return view;
    }
 
    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        container.removeView((View) object);
    }
 
    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view == object;
    }
 
    @Override
    public CharSequence getPageTitle(int position) {
        return mHomeAds.get(position).getTitle();
    }
}