123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337 |
- package com.edufound.reader.adapter;
- import android.annotation.SuppressLint;
- import android.content.Context;
- import android.content.Intent;
- import android.os.Bundle;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.Space;
- import androidx.annotation.NonNull;
- import androidx.recyclerview.widget.RecyclerView;
- import com.edufound.reader.activity.RecordActivity;
- import com.edufound.reader.activity.SmallFullVideoActivity;
- import com.edufound.reader.bean.ModelBean;
- import com.edufound.reader.bean.UserRecordBean;
- import com.edufound.reader.cusview.CusToast;
- import com.edufound.reader.cusview.ModelViewA;
- import com.edufound.reader.cusview.ModelViewB;
- import com.edufound.reader.cusview.ModelViewC;
- import com.edufound.reader.cusview.ModelViewD;
- import com.edufound.reader.cusview.ModelViewE;
- import com.edufound.reader.cusview.ModelViewF;
- import com.edufound.reader.cusview.ModelViewG;
- import com.edufound.reader.cusview.ModelViewWidthA;
- import com.edufound.reader.util.EfunboxUtil;
- import com.google.gson.Gson;
- import com.orhanobut.logger.Logger;
- import java.util.ArrayList;
- import java.util.List;
- public class FragmentEventAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
- private Context mContext;
- private List<ModelBean> mListModelBean;
- private showRuleOnClickListener mShowRuleOnClickListener;
- private Gson mGson;
- List<UserRecordBean> jsonBeanList;
- public FragmentEventAdapter(Context context, List<ModelBean> listData) {
- mContext = context;
- mListModelBean = listData;
- mGson = new Gson();
- jsonBeanList = new ArrayList<>();
- }
- public void setShowRuleOnClickListener(showRuleOnClickListener listener) {
- mShowRuleOnClickListener = listener;
- }
- @NonNull
- @Override
- public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- if (mListModelBean.get(viewType).getTemplateCode().equals("IMAGE_TEMPLATE_1")) {
- return new IMAGETEMPLATE1(new ModelViewA(mContext));
- } else if (mListModelBean.get(viewType).getTemplateCode().equals("IMAGE_TEMPLATE_2")) {
- return new IMAGETEMPLATE1(new ModelViewWidthA(mContext));
- } else if (mListModelBean.get(viewType).getTemplateCode().equals("RED_FLOWER_TEMPLATE_1")) {
- return new REDFLOWERTEMPLATE1(new ModelViewB(mContext));
- } else if (mListModelBean.get(viewType).getTemplateCode().equals("EXCELLENT_TEMPLATE_1")) {
- return new EXCELLENTTEMPLATE1(new ModelViewC(mContext));
- } else if (mListModelBean.get(viewType).getTemplateCode().equals("RACE_TEMPLATE_1")) {
- return new RACETEMPLATE1(new ModelViewD(mContext));
- } else if (mListModelBean.get(viewType).getTemplateCode().equals("RACE_TEMPLATE_2")) {
- return new RACETEMPLATE2(new ModelViewF(mContext));
- } else if (mListModelBean.get(viewType).getTemplateCode().equals("RACE_TEMPLATE_3")) {
- return new RACETEMPLATE3(new ModelViewE(mContext));
- } else if (mListModelBean.get(viewType).getTemplateCode().equals("RACE_TEMPLATE_4")) {
- return new RACETEMPLATE4(new ModelViewG(mContext));
- }
- return new NOITEM(new Space(mContext));
- }
- @Override
- public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, @SuppressLint("RecyclerView") int position) {
- if (holder instanceof IMAGETEMPLATE1) {
- //单张图片或者是单张宽图
- ((ModelViewA) holder.itemView).setView(mListModelBean.get(position).getImg(), o -> {
- if (EfunboxUtil.checkLogin(mContext, holder.itemView)) {
- EfunboxUtil.toWebFlowerActivity(mContext, (mListModelBean.get(position)).getUrl(), String.valueOf((mListModelBean.get(position)).getId()));
- }
- });
- } else if (holder instanceof EXCELLENTTEMPLATE1) {
- //类型1优秀作品展播
- ((ModelViewC) holder.itemView).setView((mListModelBean.get(position)).getImg(), mListModelBean.get(position), mListModelBean.get(position).getReadUserList().get(0).getTopList());
- ((ModelViewC) holder.itemView).setItemClickListener(new ModelViewC.onItemClickListener() {
- @Override
- public void clickExample(ModelBean bean) {
- if (EfunboxUtil.checkLogin(mContext, holder.itemView)) {
- //进入官方
- toRecordActivity(bean.getReadUserList().get(0).getExample().getId());
- }
- }
- @Override
- public void clickItem(View view, int position, UserRecordBean bean) {
- if (EfunboxUtil.checkLogin(mContext, holder.itemView)) {
- //点击item
- jsonBeanList.clear();
- jsonBeanList.add(bean);
- Logger.e("mGson.toJson(jsonBeanList):" + mGson.toJson(jsonBeanList));
- toSmallFullVideoActivity(mGson.toJson(jsonBeanList));
- }
- }
- @Override
- public void clickRule(ModelBean bean) {
- //优秀作品没有显示规则
- // if (mShowRuleOnClickListener != null) {
- // mShowRuleOnClickListener.showRuleWindow(bean.getUrl());
- // }
- }
- });
- } else if (holder instanceof REDFLOWERTEMPLATE1) {
- //单图背景左右两个按钮
- ((ModelViewB) holder.itemView).setView("", "", "", "", new ModelViewB.OnClickBtnListener() {
- @Override
- public void clickLeft() {
- }
- @Override
- public void clickRight() {
- }
- });
- } else if (holder instanceof RACETEMPLATE1) {
- ((ModelViewD) holder.itemView).setView((mListModelBean.get(position)).getImg(), mListModelBean.get(position), mListModelBean.get(position).getReadUserList(), new ModelViewD.OnClickBtnListener() {
- @Override
- public void clickRule(ModelBean bean) {
- if (mShowRuleOnClickListener != null) {
- mShowRuleOnClickListener.showRuleWindow(bean.getUrl());
- }
- }
- @Override
- public void clickItem(ModelBean.ReadUserList bean) {
- if (EfunboxUtil.checkLogin(mContext, holder.itemView)) {
- // CusToast.getInstance(mContext).show(bean.getExample().getTitle(), 1000);
- toRecordActivity(bean.getExample().getId());
- }
- }
- @Override
- public void openRankList(ModelBean.ReadUserList bean) {
- if (mShowRuleOnClickListener != null) {
- mShowRuleOnClickListener.showRankListWindow(bean);
- }
- }
- });
- } else if (holder instanceof RACETEMPLATE2) {
- ((ModelViewF) holder.itemView).setView((mListModelBean.get(position)).getImg(), (mListModelBean.get(position)), new ModelViewF.ModelViewFOnItemClick() {
- @Override
- public void clickItem(ModelBean.ReadUserList bean) {
- if (EfunboxUtil.checkLogin(mContext, holder.itemView)) {
- toRecordActivity(bean.getExample().getId());
- }
- }
- @Override
- public void clickRule(ModelBean bean) {
- if (mShowRuleOnClickListener != null) {
- mShowRuleOnClickListener.showRuleWindow(bean.getUrl());
- }
- }
- @Override
- public void openRankList(ModelBean.ReadUserList bean) {
- if (mShowRuleOnClickListener != null) {
- mShowRuleOnClickListener.showRankListWindow(bean);
- }
- }
- });
- } else if (holder instanceof RACETEMPLATE3) {
- ((ModelViewE) holder.itemView).setView(mListModelBean.get(position).getImg(), mListModelBean.get(position), new ModelViewE.onItemClickListener() {
- @Override
- public void clickItem(View view, int position, UserRecordBean bean) {
- if (EfunboxUtil.checkLogin(mContext, holder.itemView)) {
- jsonBeanList.clear();
- jsonBeanList.add(bean);
- toSmallFullVideoActivity(mGson.toJson(jsonBeanList));
- }
- }
- @Override
- public void clickRule(ModelBean bean) {
- if (mShowRuleOnClickListener != null) {
- mShowRuleOnClickListener.showRuleWindow(bean.getUrl());
- }
- }
- @Override
- public void clickEnter(ModelBean bean) {
- if (EfunboxUtil.checkLogin(mContext, holder.itemView)) {
- toRecordActivity(bean.getReadUserList().get(0).getExample().getId());
- }
- }
- });
- } else if (holder instanceof RACETEMPLATE4) {
- ((ModelViewG) holder.itemView).setView((mListModelBean.get(position)).getImg(), (mListModelBean.get(position)), new ModelViewF.ModelViewFOnItemClick() {
- @Override
- public void clickItem(ModelBean.ReadUserList bean) {
- if (EfunboxUtil.checkLogin(mContext, holder.itemView)) {
- toRecordActivity(bean.getExample().getId());
- }
- }
- @Override
- public void clickRule(ModelBean bean) {
- if (mShowRuleOnClickListener != null) {
- mShowRuleOnClickListener.showRuleWindow(bean.getUrl());
- }
- }
- @Override
- public void openRankList(ModelBean.ReadUserList bean) {
- if (mShowRuleOnClickListener != null) {
- mShowRuleOnClickListener.showRankListWindow(bean);
- }
- }
- });
- }
- }
- @Override
- public int getItemCount() {
- return mListModelBean.size();
- }
- @Override
- public int getItemViewType(int position) {
- return position;
- }
- public void toRecordActivity(String exampleId) {
- Bundle bundle = new Bundle();
- bundle.putString("exampleId", exampleId);
- Intent intent = new Intent(mContext, RecordActivity.class);
- intent.putExtra("params_bundle", bundle);
- mContext.startActivity(intent);
- }
- public void toSmallFullVideoActivity(String json) {
- Bundle bundle = new Bundle();
- bundle.putString("index", 0 + "");
- bundle.putString("dataJson", json);
- bundle.putString("intoPage", "EventFragment");
- //数据太多了。直接传不过去,通过MMKV写一下再读一下
- Intent intent = new Intent(mContext, SmallFullVideoActivity.class);
- intent.putExtra("params_bundle", bundle);
- mContext.startActivity(intent);
- }
- public interface showRuleOnClickListener {
- void showRuleWindow(String url);
- void showRankListWindow(ModelBean.ReadUserList bean);
- }
- }
- class NOITEM extends RecyclerView.ViewHolder {
- public NOITEM(@NonNull View itemView) {
- super(itemView);
- }
- }
- class IMAGETEMPLATE1 extends RecyclerView.ViewHolder {
- public IMAGETEMPLATE1(@NonNull View itemView) {
- super(itemView);
- ((ModelViewA) itemView).initView();
- }
- }
- class EXCELLENTTEMPLATE1 extends RecyclerView.ViewHolder {
- public EXCELLENTTEMPLATE1(@NonNull View itemView) {
- super(itemView);
- ((ModelViewC) itemView).initView();
- }
- }
- class REDFLOWERTEMPLATE1 extends RecyclerView.ViewHolder {
- public REDFLOWERTEMPLATE1(@NonNull View itemView) {
- super(itemView);
- ((ModelViewB) itemView).initView();
- }
- }
- class RACETEMPLATE1 extends RecyclerView.ViewHolder {
- public RACETEMPLATE1(@NonNull View itemView) {
- super(itemView);
- ((ModelViewD) itemView).initView();
- }
- }
- class RACETEMPLATE2 extends RecyclerView.ViewHolder {
- public RACETEMPLATE2(@NonNull View itemView) {
- super(itemView);
- ((ModelViewF) itemView).initView();
- }
- }
- class RACETEMPLATE3 extends RecyclerView.ViewHolder {
- public RACETEMPLATE3(@NonNull View itemView) {
- super(itemView);
- ((ModelViewE) itemView).initView();
- }
- }
- class RACETEMPLATE4 extends RecyclerView.ViewHolder {
- public RACETEMPLATE4(@NonNull View itemView) {
- super(itemView);
- ((ModelViewG) itemView).initView();
- }
- }
|