充电桩app代码

SvVideoPagerAdapter.java 2.9KB

    package com.electric.chargingpile.adapter; import android.app.Activity; import androidx.viewpager.widget.PagerAdapter; import android.view.View; import android.view.ViewGroup; import com.electric.chargingpile.data.ChatRecommendBean; import com.electric.chargingpile.fragment.SvVideoShowView; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class SvVideoPagerAdapter extends PagerAdapter { InitViewListener initViewListener; private Activity activity; private List<ChatRecommendBean> videoInfoList = new ArrayList(); private List<SvVideoShowView> list = new ArrayList(); private Map<Integer, SvVideoShowView> vRoot = new HashMap<>(3); SvVideoShowView v1, v2, v3; public SvVideoPagerAdapter(Activity activity, SvVideoShowView.OnDeleteVideoListener deleteVideoListener) { this.activity = activity; v1 = new SvVideoShowView(activity, deleteVideoListener); v2 = new SvVideoShowView(activity, deleteVideoListener); v3 = new SvVideoShowView(activity, deleteVideoListener); list.add(v1); list.add(v2); list.add(v3); } @Override public int getCount() { return videoInfoList.size(); } public void notifyChanged(List<ChatRecommendBean> videoInfos) { if (videoInfos != null) { videoInfoList.clear(); videoInfoList.addAll(videoInfos); notifyDataSetChanged(); } } @Override public Object instantiateItem(ViewGroup container, int position) { int temp = position % list.size(); SvVideoShowView videoShowView; if (vRoot.get(temp) == null) { videoShowView = list.get(temp); videoShowView.addView(container); vRoot.put(temp, videoShowView); } else { videoShowView = vRoot.get(temp); } videoShowView.setInfo(videoInfoList.get(position)); if (initViewListener != null) { initViewListener.initFirstViewAfter(); } return videoShowView.getRootView(); } public void setInitViewListener(InitViewListener initViewListener) { this.initViewListener = initViewListener; } @Override public boolean isViewFromObject(View view, Object object) { return view == object; } public int getList() { return list.size(); } public SvVideoShowView getViewList(int i) { return list.get(i); } @Override public void destroyItem(ViewGroup container, int position, Object object) { // super.destroyItem(container, position, object); } public interface InitViewListener { void initFirstViewAfter(); } public void onDestory() { for (SvVideoShowView svVideoShowView : list) { svVideoShowView.onDestroy(); } } }