package com.edufound.reader.adapter; import android.annotation.SuppressLint; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import com.edufound.reader.R; import com.edufound.reader.bean.UserRecordBean; import com.edufound.reader.listener.RecyclerItemClickListener; import com.edufound.reader.util.EfunboxUtil; import com.edufound.reader.util.GlideUtils; import com.edufound.reader.util.SizeUtils; import com.jakewharton.rxbinding4.view.RxView; import java.util.List; import java.util.concurrent.TimeUnit; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; import io.reactivex.rxjava3.core.Observer; import io.reactivex.rxjava3.disposables.Disposable; import kotlin.Unit; public class MyCollectionItemAdapter extends RecyclerView.Adapter { public static final int ITEM_TYPE_HEADER = 0; public static final int ITEM_TYPE_CONTENT = 1; public static final int ITEM_TYPE_BOTTOM = 2; private LayoutInflater mLayoutInflater; private Context mContext; private List mListData; private RecyclerItemClickListener mRecyclerItemClickListener; public MyCollectionItemAdapter(Context context, List listData) { mContext = context; mLayoutInflater = LayoutInflater.from(context); mListData = listData; } public void addMored(List listData) { mListData.addAll(listData); } public void removeByPosition(int position) { mListData.remove(position); notifyItemRemoved(position); notifyDataSetChanged(); } public void addByPosition(int position, UserRecordBean bean) { mListData.add(position, bean); notifyItemRangeInserted(position, 1); notifyDataSetChanged(); } public void setOnItemClickListener(RecyclerItemClickListener listener) { mRecyclerItemClickListener = listener; } @Override public int getItemViewType(int position) { return position; } @NonNull @Override public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { return new MyCollectionItemHolder(mLayoutInflater.inflate(R.layout.adapter_item_record_authority, parent, false)); } @Override public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, @SuppressLint("RecyclerView") int position) { ((MyCollectionItemHolder) holder).mItemName.setText(String.valueOf(mListData.get(position).getUserRead().getTitle())); GlideUtils.loadImage(mContext, mListData.get(position).getUserRead().getIconImg(), ((MyCollectionItemHolder) holder).mItemIcon); ((MyCollectionItemHolder) holder).mCommentNum.setText(EfunboxUtil.checkNum10000(String.valueOf(mListData.get(position).getUserRead().getCommentAmount()))); ((MyCollectionItemHolder) holder).mLookNum.setText(EfunboxUtil.checkNum10000(String.valueOf(mListData.get(position).getUserRead().getPlayAmount()))); ((MyCollectionItemHolder) holder).mThumbNum.setText(EfunboxUtil.checkNum10000(String.valueOf(mListData.get(position).getUserRead().getLikeAmount()))); ((MyCollectionItemHolder) holder).mStartNum.setText(EfunboxUtil.checkNum10000(String.valueOf(mListData.get(position).getUserRead().getFavoritesAmount()))); if (mRecyclerItemClickListener != null) { RxView.clicks(((MyCollectionItemHolder) holder).mItemView).throttleFirst(2, TimeUnit.SECONDS).subscribe(o -> { mRecyclerItemClickListener.onClickListener(position, ((MyCollectionItemHolder) holder).mItemView, null); }); } } @Override public int getItemCount() { return mListData.size(); } } class MyCollectionItemHolder extends RecyclerView.ViewHolder { View mItemView; ImageView mItemIcon; TextView mItemName; TextView mLookNum; TextView mThumbNum; TextView mCommentNum; TextView mStartNum; public MyCollectionItemHolder(@NonNull View itemView) { super(itemView); mItemView = itemView; mItemIcon = itemView.findViewById(R.id.adapter_item_record_authority_icon); mItemName = itemView.findViewById(R.id.adapter_item_record_authority_name); mLookNum = itemView.findViewById(R.id.adapter_item_record_authority_look_num); mThumbNum = itemView.findViewById(R.id.adapter_item_record_authority_thumb_num); mCommentNum = itemView.findViewById(R.id.adapter_item_record_authority_allcount_num); mStartNum = itemView.findViewById(R.id.adapter_item_record_authority_start_num); } } class MyCollectionHeaderViewHolder extends RecyclerView.ViewHolder { public MyCollectionHeaderViewHolder(@NonNull View itemView) { super(itemView); } } class MyCollectionBottomViewHolder extends RecyclerView.ViewHolder { public MyCollectionBottomViewHolder(@NonNull View itemView) { super(itemView); } }