SelectTenantMemberAdapter.java 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. package com.cooleshow.teacher.adapter;
  2. import android.text.TextUtils;
  3. import android.widget.ImageView;
  4. import com.chad.library.adapter.base.BaseQuickAdapter;
  5. import com.chad.library.adapter.base.viewholder.BaseViewHolder;
  6. import com.cooleshow.base.utils.GlideUtils;
  7. import com.cooleshow.base.utils.SizeUtils;
  8. import com.cooleshow.teacher.R;
  9. import com.cooleshow.base.bean.StudentPageListBean;
  10. import java.util.ArrayList;
  11. import androidx.annotation.NonNull;
  12. import androidx.constraintlayout.widget.ConstraintLayout;
  13. import androidx.recyclerview.widget.RecyclerView;
  14. /**
  15. * Author by pq, Date on 2023/9/15.
  16. */
  17. public class SelectTenantMemberAdapter extends BaseQuickAdapter<StudentPageListBean.RowsBean, BaseViewHolder> {
  18. public ArrayList<StudentPageListBean.RowsBean> selectMembers;
  19. public SelectTenantMemberAdapter(ArrayList<StudentPageListBean.RowsBean> defaultList) {
  20. super(R.layout.item_select_tenant_member_layout);
  21. if (defaultList != null) {
  22. selectMembers = new ArrayList<>(defaultList);
  23. } else {
  24. selectMembers = new ArrayList<>();
  25. }
  26. }
  27. public void addSelect(int pos, StudentPageListBean.RowsBean bean) {
  28. int contain = isContain(bean.getImUserId());
  29. if (contain != -1) {
  30. selectMembers.remove(contain);
  31. } else {
  32. selectMembers.add(bean);
  33. }
  34. notifyItemChanged(pos);
  35. }
  36. private int isContain(String targetId) {
  37. for (int i = 0; i < selectMembers.size(); i++) {
  38. StudentPageListBean.RowsBean rowsBean = selectMembers.get(i);
  39. if (TextUtils.equals(rowsBean.getImUserId(), targetId)) {
  40. return i;
  41. }
  42. }
  43. return -1;
  44. }
  45. public ArrayList<StudentPageListBean.RowsBean> getSelect() {
  46. return selectMembers;
  47. }
  48. @Override
  49. protected void convert(@NonNull BaseViewHolder holder, StudentPageListBean.RowsBean bean) {
  50. holder.setText(R.id.tv_name, bean.getUsername());
  51. ImageView iv_avatar = holder.getView(R.id.iv_avatar);
  52. GlideUtils.INSTANCE.loadImage(getContext(), bean.getAvatar(), iv_avatar, com.cooleshow.base.R.drawable.icon_default_head);
  53. ImageView iv_check = holder.getView(R.id.iv_check);
  54. if (isContain(bean.getImUserId()) != -1) {
  55. iv_check.setImageResource(R.drawable.icon_check_select);
  56. } else {
  57. iv_check.setImageResource(com.cooleshow.base.R.drawable.icon_check_select_default);
  58. }
  59. holder.setText(R.id.tv_subject_name, bean.getSubjectName());
  60. holder.setText(R.id.tv_group_name, bean.getTenantGroupName());
  61. holder.setGone(R.id.tv_group_name, TextUtils.isEmpty(bean.getTenantGroupName()));
  62. ConstraintLayout cs_root = holder.getView(R.id.cs_root);
  63. RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) cs_root.getLayoutParams();
  64. if (holder.getLayoutPosition() == getData().size() - 1) {
  65. params.setMargins(0, 0, 0, SizeUtils.dp2px(71));
  66. } else {
  67. params.setMargins(0, 0, 0, 0);
  68. }
  69. cs_root.setLayoutParams(params);
  70. }
  71. }