admin
2020-10-10 8039a1b2fbfa3471b6f726d3e839d7867c81a84f
BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/RecommendNewAdapter.java
@@ -2,65 +2,139 @@
import android.app.Activity;
import android.content.Intent;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.support.v4.view.ViewPager;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.ViewParent;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.VideoView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bytedance.sdk.openadsdk.TTAdConstant;
import com.bytedance.sdk.openadsdk.TTFeedAd;
import com.lcjian.library.util.SystemCommon;
import com.lcjian.library.util.common.DimenUtils;
import com.bumptech.glide.request.RequestOptions;
import com.bytedance.sdk.openadsdk.TTAdDislike;
import com.google.gson.FieldNamingPolicy;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.lcjian.library.util.common.StringUtils;
import com.lcjian.library.widget.RatioLayout;
import com.viewpagerindicator.LinePageIndicator;
import com.weikou.beibeivideo.R;
import com.weikou.beibeivideo.entity.HomeType;
import com.weikou.beibeivideo.entity.HomeVideo;
import com.weikou.beibeivideo.entity.VideoInfo;
import com.weikou.beibeivideo.entity.VideoType;
import com.weikou.beibeivideo.entity.ad.ExpressAdContainer;
import com.weikou.beibeivideo.entity.recommend.HomeTypeContent;
import com.weikou.beibeivideo.entity.recommend.RecommendContent;
import com.weikou.beibeivideo.test.MyViewPager;
import com.weikou.beibeivideo.entity.recommend.holder.RecommendVideoAdHolder;
import com.weikou.beibeivideo.entity.video.holder.HeaderViewHolder;
import com.weikou.beibeivideo.entity.video.holder.VideoHolder;
import com.weikou.beibeivideo.ui.common.VideosLiveActivity;
import com.weikou.beibeivideo.ui.discover.StarsActivity;
import com.weikou.beibeivideo.ui.media.VideoDetailActivity;
import com.weikou.beibeivideo.util.ad.CSJAdUtil;
import com.weikou.beibeivideo.ui.video.VideoColumn2Adapter;
import com.weikou.beibeivideo.util.VideoUtil;
import com.weikou.beibeivideo.util.ad.AdUtil;
import com.weikou.beibeivideo.util.ad.ExpressAdManager;
import com.yeshi.buwanshequ.R;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.TreeSet;
public class RecommendNewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
    private Activity mContext;
    List<RecommendContent> contentList;
    private LayoutInflater inflater;
    private final static String TAG = "RecommendNewAdapter";
    public RecommendNewAdapter(Activity context, List<RecommendContent> contentList) {
    private Activity mContext;
    List<Object> contentList;
    private LayoutInflater inflater;
    private TreeSet mADSet = new TreeSet();
    public final int TYPE_HEADER = 10001;
    private View headerView;
    public void setHeaderView(View view) {
        this.headerView = view;
    }
    public RecommendNewAdapter(Activity context, List contentList) {
        this.mContext = context;
        this.contentList = contentList;
        inflater = LayoutInflater.from(mContext);
    }
    /**
     * 添加数据项
     *
     * @param item
     */
    public void addNormalItem(HomeType item) {
        contentList.add(item);
    }
    /**
     * 获取广告数量
     *
     * @return
     */
    public int getAdCount() {
        return mADSet.size();
    }
    /**
     * 添加广告到指定位置
     *
     * @param ad
     * @param position
     */
    public void addAdToPosition(ExpressAdContainer ad, int position) {
        if (position >= 0 && position < contentList.size()) {
            contentList.add(position, ad);
            mADSet.add(position);
        }
        Log.i(TAG, "addAdToPosition");
    }
    public void addAd(ExpressAdContainer ad) {
        contentList.add(ad);
        Log.i(TAG, "addAd");
    }
    public void removeAd(ExpressAdContainer ad) {
        if (mADSet != null)
            for (Iterator<Integer> its = mADSet.iterator(); its.hasNext(); ) {
                int p = its.next();
                if (p < contentList.size() && contentList.get(p) == ad) {
                    mADSet.remove(p);
                    contentList.remove(p);
                    notifyDataSetChanged();
                }
            }
    }
    public void removeAllAd() {
        if (contentList != null)
            for (int i = 0; i < contentList.size(); i++) {
                if (contentList.get(i) instanceof ExpressAdContainer) {
                    contentList.remove(i);
                    i--;
                }
            }
        mADSet.clear();
    }
    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        switch (viewType) {
            case RecommendContent.TYPE_BANNER:
                return new HomeBannerHolder(inflater.inflate(R.layout.recommend_top, parent, false));
            case TYPE_HEADER:
                return new HeaderViewHolder(headerView);
            case RecommendContent.TYPE_HOMETYPE:
                return new HomeTypeHolder(inflater.inflate(R.layout.item_recommend_home_type, null, false), new RecyclerView.RecycledViewPool());
            case RecommendContent.TYPE_AD:
@@ -70,179 +144,132 @@
    }
    private Runnable autoPlayBanner = null;
    private synchronized void autoPlayBanner(final ViewPager viewPager) {
        if (autoPlayBanner == null) {
            autoPlayBanner = new Runnable() {
                @Override
                public void run() {
                    if (contentList != null && contentList.size() > 0 && contentList.get(0).getType() == RecommendContent.TYPE_BANNER)
                        if (contentList.get(0).getHomeBannerList() == null || contentList.get(0).getHomeBannerList().size() <= 0)
                            return;
                    if (viewPager.getCurrentItem() >= contentList.get(0).getHomeBannerList().size() - 1) {
                        viewPager.setCurrentItem(0, true);
                    } else {
                        viewPager.setCurrentItem(viewPager.getCurrentItem() + 1, true);
                    }
                    autoPlayBanner(viewPager);
                }
            };
            viewPager.postDelayed(autoPlayBanner, 3000);
        } else {
            viewPager.removeCallbacks(autoPlayBanner);
            viewPager.postDelayed(autoPlayBanner, 3000);
        }
    }
    RecyclerView.ItemDecoration itemDecoration = new RecyclerView.ItemDecoration() {
        @Override
        public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) {
            super.onDraw(c, parent, state);
        }
        @Override
        public void onDrawOver(Canvas c, RecyclerView parent, RecyclerView.State state) {
            super.onDrawOver(c, parent, state);
        }
        @Override
        public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
            super.getItemOffsets(outRect, view, parent, state);
            int index = parent.getChildAdapterPosition(view);
            int total = parent.getAdapter().getItemCount();
            if (index % 2 == 0) {
                outRect.left = 0; //第一列左边贴边
                outRect.right = DimenUtils.dipToPixels(5, view.getContext());
            } else {
                outRect.right = 0; //第一列左边贴边
                outRect.left = DimenUtils.dipToPixels(5, view.getContext());
            }
            if (index - 1 > 0) {
                outRect.top = DimenUtils.dipToPixels(5, view.getContext());
            } else
                outRect.top = 0;
            if (total % 2 == 0) {
                if (total > 2 && (index < total - 2))
                    outRect.bottom = DimenUtils.dipToPixels(5, view.getContext());
                else
                    outRect.bottom = 0;
            } else {
                if (total > 2 && (index < total - 1))
                    outRect.bottom = DimenUtils.dipToPixels(5, view.getContext());
                else
                    outRect.bottom = 0;
            }
//                    if (parent.getChildAdapterPosition(view) >= 3) {
//                        outRect.top = SizeUtils.dp2px(mContext, 10);
//                    } else {
//                        outRect.top = 0;
//                    }
        }
    };
    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int i) {
        final RecommendContent content = contentList.get(i);
        if (viewHolder instanceof HomeBannerHolder) {
            int width = (int) SystemCommon.getScreenWidth(mContext);
            HomeBannerHolder holder = (HomeBannerHolder) viewHolder;
            holder.vp_recommend.setAdapter(new RecommendTopAdapter(content.getHomeBannerList(), mContext, false));
            holder.indicator_recommend.setScreenWidth(width);
            holder.indicator_recommend.setSelectedColor(holder.vp_recommend.getContext().getResources()
                    .getColor(R.color.yellow));
            holder.indicator_recommend.setUnselectedColor(0xbbADA9A7);
            holder.indicator_recommend.setViewPager(holder.vp_recommend);
            autoPlayBanner(holder.vp_recommend);
        } else if (viewHolder instanceof HomeTypeHolder) {
            HomeType homeType = content.getHomeType();
            HomeTypeHolder holder = (HomeTypeHolder) viewHolder;
        if (viewHolder instanceof HeaderViewHolder)
            return;
        int p = i;
        if (headerView != null)
            p--;
        if (viewHolder instanceof HomeTypeHolder) {
            final HomeType homeType = (HomeType) contentList.get(p);
            final HomeTypeHolder holder = (HomeTypeHolder) viewHolder;
            if (homeType == null) {
                holder.view.setVisibility(View.GONE);
                return;
            }
            if (homeType.getVideoInfoList() == null) {
                homeType.setVideoInfoList(new ArrayList<VideoInfo>());
            }
            homeType.getVideoInfoList().clear();
            if (homeType.getHomeVideoList() != null)
                for (HomeVideo hv : homeType.getHomeVideoList()) {
                    homeType.getVideoInfoList().add(hv.getVideo());
                }
            holder.view.setVisibility(View.VISIBLE);
            if (holder.rv_content.getLayoutManager() == null || !(holder.rv_content.getLayoutManager() instanceof GridLayoutManager)) {
                RecyclerView.LayoutManager layoutManager = new GridLayoutManager(mContext, 4);
                holder.rv_content.setLayoutManager(layoutManager);
            }
            //统一分为2列
            ((GridLayoutManager) holder.rv_content.getLayoutManager()).setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
                @Override
                public int getSpanSize(int position) {
                    return 2;
                }
            });
            boolean isFirst = false;
            for (RecommendContent content1 : contentList)
                if (content1.getType() == RecommendContent.TYPE_HOMETYPE) {
                    if (content1.getHomeType().getId().equalsIgnoreCase(content.getHomeType().getId())) {
            for (Object content1 : contentList)
                if (content1 instanceof HomeType) {
                    if (content1 == homeType) {
                        isFirst = true;
                        break;
                    } else {
                        isFirst = false;
                        break;
                    }
                    break;
                }
            HomeTypeContentAdapter adapter = new HomeTypeContentAdapter(mContext, homeType.getHomeVideoList(), isFirst ? true : false, 8);
            holder.rv_content.setAdapter(adapter);
            VideoColumn2Adapter adapter = null;
            //设置间距
            holder.rv_content.removeItemDecoration(itemDecoration);
            holder.rv_content.addItemDecoration(itemDecoration);
            if (isFirst) {//第一排为小视频
                adapter = new VideoColumn2Adapter(mContext, mContext, homeType.getVideoInfoList(), true, Integer.MAX_VALUE, null, new ExpressAdManager.IAdShowListener() {
                    @Override
                    public void show() {
                        holder.rv_content.scrollToPosition(0);
                    }
                });
                adapter.initRecyclerViewDisplayWidthRow1(holder.rv_content);
            } else {
                adapter = new VideoColumn2Adapter(mContext, mContext, homeType.getVideoInfoList(), false, homeType.getColumns(), null);
                if (homeType.getColumns() == 2)
                    adapter.initRecyclerViewDisplayWidthColumn2(holder.rv_content);
                else if (homeType.getColumns() == 3)
                    adapter.initRecyclerViewDisplayWidthColumn3(holder.rv_content);
                else
                    adapter.initRecyclerViewDisplayWidthRow1(holder.rv_content);
            }
            if (homeType.getVideoInfoList() != null && homeType.getVideoInfoList().size() > 0)
                holder.rv_content.setAdapter(adapter);
            Glide.with(mContext).load(homeType.getIcon())
                    .diskCacheStrategy(DiskCacheStrategy.SOURCE).placeholder(R.drawable.ic_stars_collection).into(holder.tv_category_icon);
                    .apply(new RequestOptions().placeholder(R.drawable.ic_stars_collection)).into(holder.tv_category_icon);
            holder.tv_category_name.setText(homeType.getName());
            if (Boolean.parseBoolean(homeType.getHasMore())) {
                holder.tv_more.setVisibility(View.VISIBLE);
            } else {
                holder.tv_more.setVisibility(View.GONE);
            }
        } else if (viewHolder instanceof AdHolder) {
            AdHolder holder = (AdHolder) viewHolder;
            holder.fl_ad.removeAllViews();
            ExpressAdContainer ad = content.getAd();
            holder.tv_more
                    .setOnClickListener(new OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            Intent intent = null;
                            if (homeType.getId().equalsIgnoreCase("1111")) {
                                intent = new Intent(v.getContext(),
                                        VideosLiveActivity.class);
                                intent.putExtra("home_type", homeType.getId());
                                intent.putExtra("title", homeType.getName());
                                v.getContext().startActivity(intent);
                            } else if (homeType.getId().equalsIgnoreCase("9998")) {
                                intent = new Intent(v.getContext(), StarsActivity.class);
                                v.getContext().startActivity(intent);
                            } else {
                                Gson gson = new GsonBuilder()
                                        .setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE)
                                        .create();
                                VideoType type = gson.fromJson(homeType.getParams().replace(
                                        "\\" + "\"", "\""), VideoType.class);
                                try {
                                    intent = new Intent(v.getContext(), Class.forName(homeType.getActivity()));
                                    intent.putExtra("video_type", type);
                                    intent.putExtra("type_name", type.getName());
                                    intent.putExtra("isPush", false);
                                    v.getContext().startActivity(intent);
                                } catch (ClassNotFoundException e) {
                                    e.printStackTrace();
                                }
                            }
                        }
                    });
        } else if (viewHolder instanceof AdHolder) {
            final AdHolder holder = (AdHolder) viewHolder;
            holder.fl_ad.removeAllViews();
            final ExpressAdContainer ad = (ExpressAdContainer) contentList.get(p);
            if (ad != null) {
                holder.view.setVisibility(View.VISIBLE);
                if (ad.getGdt() != null) {
                    ViewParent parent = ad.getGdt().getParent();
                    if (parent != null) {
                        FrameLayout parentContainer = (FrameLayout) parent;
                        parentContainer.removeAllViews();
                    }
                    ad.getGdt().render();
                    holder.fl_ad.addView(ad.getGdt());
                } else if (ad.getCsj() != null) {
                    holder.fl_ad.addView(holder.csjAdHolder.view);
                    //填充广告内容
                    ArrayList<View> images = new ArrayList<>();
                    if (ad.getCsj().getImageMode() == TTAdConstant.IMAGE_MODE_VIDEO) {
                        holder.csjAdHolder.iv_pic.setVisibility(View.GONE);
                        holder.csjAdHolder.vv_video.setVisibility(View.VISIBLE);
                        images.add(holder.csjAdHolder.vv_video);
                    } else {
                        holder.csjAdHolder.iv_pic.setVisibility(View.VISIBLE);
                        holder.csjAdHolder.vv_video.setVisibility(View.GONE);
                        images.add(holder.csjAdHolder.iv_pic);
                    }
                    CSJAdUtil.bindData(holder.csjAdHolder.view, holder.csjAdHolder.iv_close, holder.csjAdHolder.tv_title, images, ad.getCsj());
                }
                holder.ll_container.setVisibility(View.VISIBLE);
                ExpressAdManager.fillAd(ad, holder.fl_ad);
            } else {
                holder.view.setVisibility(View.GONE);
                holder.ll_container.setVisibility(View.GONE);
            }
        }
    }
    @Override
    public int getItemCount() {
        return this.contentList.size();
        int count = this.contentList.size();
        if (headerView != null)
            count++;
        return count;
    }
    /**
@@ -254,24 +281,17 @@
    //获取类型
    @Override
    public int getItemViewType(int position) {
        return this.contentList.get(position).getType();
    }
    class HomeBannerHolder extends RecyclerView.ViewHolder {
        MyViewPager vp_recommend;
        LinearLayout ll_ad_containner;
        RatioLayout rl_recommend_top;
        LinePageIndicator indicator_recommend;
        FrameLayout fl_ad;
        public HomeBannerHolder(View view) {
            super(view);
            vp_recommend = view.findViewById(R.id.vp_recommend);
            ll_ad_containner = view.findViewById(R.id.ll_ad_containner);
            rl_recommend_top = view.findViewById(R.id.rl_recommend_top);
            indicator_recommend = view.findViewById(R.id.indicator_recommend);
            fl_ad = view.findViewById(R.id.fl_ad);
        if (position == 0) {
            if (headerView != null)
                return TYPE_HEADER;
        }
        if (headerView != null)
            position--;
        if (contentList.get(position) instanceof HomeType)
            return RecommendContent.TYPE_HOMETYPE;
        else
            return RecommendContent.TYPE_AD;
    }
    class HomeTypeHolder extends RecyclerView.ViewHolder {
@@ -303,15 +323,15 @@
    class AdHolder extends RecyclerView.ViewHolder {
        FrameLayout fl_ad;
        View view;
        CSJAdHolder csjAdHolder;
        RelativeLayout rl_title_item;
        LinearLayout ll_container;
        public AdHolder(View view) {
            super(view);
            this.view = view;
            csjAdHolder = new CSJAdHolder(inflater.inflate(R.layout.item_ad_csj_list_column1, null));
            ll_container = view.findViewById(R.id.ll_container);
            fl_ad = view.findViewById(R.id.fl_ad);
            rl_title_item = view.findViewById(R.id.rl_title_item);
        }
    }
@@ -338,6 +358,23 @@
            }
            if (needAd) {
                if (expressAdManager == null)
                    expressAdManager = new ExpressAdManager(AdUtil.getSmallExpressAdType(), mContext);
                expressAdManager.loadRecommendSmallAd(new ExpressAdManager.IAdLoadListener() {
                    @Override
                    public void onSuccess(List<ExpressAdContainer> adList) {
                        if (adList != null && adList.size() > 0) {
                            if (contentList != null && contentList.size() > 0 && contentList.get(0).getType() == HomeTypeContent.TYPE_CONTENT) {
                                contentList.add(0, new HomeTypeContent(HomeTypeContent.TYPE_AD, adList.get(0)));
                                notifyDataSetChanged();
                            }
                        }
                    }
                });
            }
            this.maxItemNum = maxItemNum;
        }
@@ -345,9 +382,9 @@
        public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int type) {
            switch (type) {
                case HomeTypeContent.TYPE_AD:
                    return new HomeTypeAdHolder(inflater.inflate(R.layout.item_ad_list_small, parent, false));
                    return new RecommendVideoAdHolder(inflater.inflate(R.layout.item_ad_list_small, parent, false));
                case HomeTypeContent.TYPE_CONTENT:
                    return new HomeTypeContentHolder(inflater.inflate(R.layout.item_movie, parent, false));
                    return new VideoHolder(inflater.inflate(R.layout.item_movie, parent, false));
            }
            return null;
        }
@@ -355,40 +392,40 @@
        @Override
        public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int p) {
            final HomeTypeContent content = contentList.get(p);
            if (viewHolder instanceof HomeTypeContentHolder) {
                HomeTypeContentHolder holder = (HomeTypeContentHolder) viewHolder;
            if (viewHolder instanceof VideoHolder) {
                VideoHolder holder = (VideoHolder) viewHolder;
                final HomeVideo info = content.getHomeVideo();
                //设置内容
                holder.ll_video_show.setVisibility(View.VISIBLE);
                if (StringUtils.isEmpty(info.getPicture())) {
                    Glide.with(mContext).load(info.getVideo().getPicture())
                            .placeholder(R.drawable.ic_default_cover)
                            .error(R.drawable.ic_default_cover)
                            .centerCrop().crossFade()
                            .diskCacheStrategy(DiskCacheStrategy.SOURCE)
                            .apply(new RequestOptions().centerCrop().placeholder(R.drawable.ic_default_cover).error(R.drawable.ic_default_cover))
                            .into(holder.iv_movie_cover);
                } else {
                    try {
                        Glide.with(mContext).load(info.getPicture())
                                .placeholder(R.drawable.ic_default_cover)
                                .error(R.drawable.ic_default_cover)
                                .centerCrop().crossFade()
                                .diskCacheStrategy(DiskCacheStrategy.SOURCE)
                                .apply(new RequestOptions().centerCrop().placeholder(R.drawable.ic_default_cover).error(R.drawable.ic_default_cover))
                                .into(holder.iv_movie_cover);
                    } catch (IllegalArgumentException e) {
                        e.printStackTrace();
                    }
                }
                holder.tv_movie_title.setText(info.getVideo().getName());
                holder.tv_movie_rating.setText(StringUtils.isBlank(info
                String tag = StringUtils.isBlank(info
                        .getVideo().getTag()) ? "" : info.getVideo()
                        .getTag());
                        .getTag();
                holder.tv_movie_rating.setText(tag);
                if (StringUtils.isBlank(tag)) {
                    holder.tv_movie_rating.setVisibility(View.GONE);
                } else {
                    holder.tv_movie_rating.setVisibility(View.VISIBLE);
                }
                DecimalFormat df = new DecimalFormat("###.0");
                holder.tv_movie_play_num.setText(StringUtils.isBlank(info
                        .getVideo().getWatchCount()) ? "0" : (Integer.parseInt(info
                        .getVideo().getWatchCount())) / 10000 > 0 ? df.format(Integer.parseInt(info
                        .getVideo().getWatchCount()) / 10000f) + "万" : info
                        .getVideo().getWatchCount());
                holder.tv_movie_play_num.setText(VideoUtil.getWatchCountShortName(info.getVideo().getWatchCount()));
                holder.tv_movie_play_num.setVisibility(View.GONE);
                holder.tv_movie_comment_num.setText(StringUtils.isBlank(info.getVideo().getCommentCount()) ? "0" : info.getVideo().getCommentCount());
                holder.ll_video_show
                        .setOnClickListener(new OnClickListener() {
@@ -398,54 +435,72 @@
                                myClick(info.getVideo(), v);
                            }
                        });
            } else if (viewHolder instanceof HomeTypeAdHolder) {//广告
                final HomeTypeAdHolder holder = (HomeTypeAdHolder) viewHolder;
            } else if (viewHolder instanceof RecommendVideoAdHolder) {//广告
                final RecommendVideoAdHolder holder = (RecommendVideoAdHolder) viewHolder;
                holder.fl_container.removeAllViews();
                final ExpressAdContainer ad = content.getAd();
                if (ad == null) {//广告为空
                    holder.view.setVisibility(View.GONE);
                    if (needAd) {
                        if (expressAdManager == null)
                            expressAdManager = new ExpressAdManager(ExpressAdManager.SOURCE_CSJ, mContext);
                        expressAdManager.loadRecommendSmallAd(new ExpressAdManager.IAdLoadListener() {
                            @Override
                            public void onSuccess(List<ExpressAdContainer> adList) {
                                if (adList != null && adList.size() > 0) {
                                    if (contentList != null && contentList.size() > 0 && contentList.get(0).getType() == HomeTypeContent.TYPE_CONTENT) {
                                        contentList.add(0,new HomeTypeContent(HomeTypeContent.TYPE_AD, adList.get(0)));
                                        notifyDataSetChanged();
                                    }
                                }
                            }
                        });
                    }
                } else {
                    holder.view.setVisibility(View.VISIBLE);
                    if (ad.getGdt() != null) {
                        ViewParent parent = ad.getGdt().getParent();
                        if (parent != null) {
                            FrameLayout parentContainer = (FrameLayout) parent;
                            parentContainer.removeAllViews();
                        }
                        holder.rl_container.setRatio(0.88f);
                        holder.tv_movie_title.setVisibility(View.GONE);
//                        ad.getGdt().setAdEventListener(new AdEventListener() {
//                            @Override
//                            public void onClick() {
//
//                            }
//
//                            @Override
//                            public void onExposed() {
//
//                            }
//
//                            @Override
//                            public void onRenderSuccess() {
//                                holder.fl_container.addView(ad.getGdt().getAdView());
//                            }
//
//                            @Override
//                            public void onRenderFail() {
//
//                            }
//
//                            @Override
//                            public void onAdClosed() {
//                                ad.getGdt().destroy();
//                                contentList.remove(content);
//                                notifyDataSetChanged();
//                            }
//                        });
                        ad.getGdt().render();
                        holder.tv_movie_play_num.setText("112");
                        holder.tv_movie_title.setText(ad.getGdt().getBoundData().getTitle());
                        holder.fl_container.addView(ad.getGdt());
                        holder.tv_movie_play_num.setText("112");
                    } else if (ad.getCsj() != null) {
                        holder.fl_container.addView(holder.adHolder.view);
                        //填充广告内容
                        ArrayList<View> images = new ArrayList<>();
                        if (ad.getCsj().getImageMode() == TTAdConstant.IMAGE_MODE_VIDEO) {
                            holder.adHolder.iv_pic.setVisibility(View.GONE);
                            holder.adHolder.vv_video.setVisibility(View.VISIBLE);
                            images.add(holder.adHolder.vv_video);
                        } else {
                            holder.adHolder.iv_pic.setVisibility(View.VISIBLE);
                            holder.adHolder.vv_video.setVisibility(View.GONE);
                            images.add(holder.adHolder.iv_pic);
                        }
                        CSJAdUtil.bindData(holder.adHolder.view, holder.adHolder.iv_close, holder.adHolder.tv_title, images, ad.getCsj());
                        holder.tv_movie_title.setText(ad.getCsj().getTitle());
                        holder.rl_container.setRatio(0.88f);
                        holder.tv_movie_title.setVisibility(View.GONE);
                        ad.getCsj().setDislikeCallback(mContext, new TTAdDislike.DislikeInteractionCallback() {
                            @Override
                            public void onSelected(int i, String s) {
                                contentList.remove(content);
                                notifyDataSetChanged();
                            }
                            @Override
                            public void onCancel() {
                            }
                            @Override
                            public void onRefuse() {
                            }
                        });
                        ad.getCsj().render();
                        holder.fl_container.addView(ad.getCsj().getExpressAdView());
                    }
                }
            }
@@ -470,71 +525,6 @@
            Intent intent = new Intent(v.getContext(), VideoDetailActivity.class);
            intent.putExtra("video_info", info);
            v.getContext().startActivity(intent);
        }
    }
    class HomeTypeContentHolder extends RecyclerView.ViewHolder {
        LinearLayout ll_video_show;
        ImageView iv_movie_cover;
        ImageView iv_spread;
        TextView tv_movie_rating;
        ImageView iv_ad_logo;
        TextView tv_movie_play_num;
        TextView tv_movie_comment_num;
        TextView tv_movie_title;
        public HomeTypeContentHolder(View view) {
            super(view);
            ll_video_show = view.findViewById(R.id.ll_video_show);
            iv_movie_cover = view.findViewById(R.id.iv_movie_cover);
            iv_spread = view.findViewById(R.id.iv_spread);
            tv_movie_rating = view.findViewById(R.id.tv_movie_rating);
            iv_ad_logo = view.findViewById(R.id.iv_ad_logo);
            tv_movie_play_num = view.findViewById(R.id.tv_movie_play_num);
            tv_movie_comment_num = view.findViewById(R.id.tv_movie_comment_num);
            tv_movie_title = view.findViewById(R.id.tv_movie_title);
        }
    }
    class HomeTypeAdHolder extends RecyclerView.ViewHolder {
        View view;
        FrameLayout fl_container;
        TextView tv_movie_title;
        TextView tv_movie_play_num;
        CSJAdHolder adHolder;
        public HomeTypeAdHolder(View view) {
            super(view);
            this.view = view;
            fl_container = view.findViewById(R.id.fl_container);
            tv_movie_title = view.findViewById(R.id.tv_movie_title);
            tv_movie_play_num = view.findViewById(R.id.tv_movie_play_num);
//            adHolder = new CSJAdHolder(inflater.inflate(R.layout.item_ad_csj_list_column2, null));
        }
    }
    class CSJAdHolder extends RecyclerView.ViewHolder {
        ImageView iv_pic;
        VideoView vv_video;
        ImageView iv_logo;
        TextView tv_title;
        ImageView iv_close;
        View view;
        public CSJAdHolder(View view) {
            super(view);
            this.view = view;
            iv_pic = view.findViewById(R.id.iv_pic);
            vv_video = view.findViewById(R.id.vv_video);
            iv_logo = view.findViewById(R.id.iv_logo);
            tv_title = view.findViewById(R.id.tv_title);
            iv_close = view.findViewById(R.id.iv_close);
        }
    }