MrShi
6 天以前 3a154bdb0a5aaa2c0ac3eac95a6ba747068bd454
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/adapter/FaceUserAdapter.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,114 @@
package com.doumee.keyCabinet.ui.face.adapter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.TextView;
import androidx.recyclerview.widget.RecyclerView;
import com.doumee.keyCabinet.MApplication;
import com.doumee.keyCabinet.R;
import com.doumee.lib_coremodel.http.utils.FrescoUtils;
import com.example.datalibrary.listener.OnItemClickListener;
import com.example.datalibrary.listener.OnRemoveListener;
import com.example.datalibrary.model.User;
import com.facebook.drawee.view.SimpleDraweeView;
import java.util.List;
public class FaceUserAdapter extends RecyclerView.Adapter<FaceUserAdapter.FaceUserViewHolder> implements
        View.OnClickListener, View.OnLongClickListener {
    private List<User> mList;
    private boolean mShowCheckBox;
    private OnItemClickListener mItemClickListener;
    private OnRemoveListener mOnRemoveListener;
    public void setDataList(List<User> list) {
        mList = list;
    }
    public void setShowCheckBox(boolean showCheckBox) {
        mShowCheckBox = showCheckBox;
    }
    public void setItemClickListener(OnItemClickListener itemClickListener) {
        mItemClickListener = itemClickListener;
    }
    public void setOnRemoveListener(OnRemoveListener onRemoveListener) {
        this.mOnRemoveListener = onRemoveListener;
    }
    @Override
    public FaceUserViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext());
        View view = layoutInflater.inflate(R.layout.item_register_user_list, parent, false);
        FaceUserViewHolder viewHolder = new FaceUserViewHolder(view);
        view.setOnClickListener(this);
        view.setOnLongClickListener(this);
        return viewHolder;
    }
    @Override
    public void onBindViewHolder(FaceUserViewHolder holder, int position) {
        holder.itemView.setTag(position);
        // æ˜¯å¦æ˜¾ç¤ºå¤šé€‰æŒ‰é’®
        if (mShowCheckBox) {
            holder.checkView.setVisibility(View.VISIBLE);
            if (mList.get(position).isChecked()) {
                holder.checkView.setChecked(true);
            } else {
                holder.checkView.setChecked(false);
            }
        } else {
            holder.checkView.setVisibility(View.GONE);
        }
        // æ·»åŠ æ•°æ®
        holder.text_user_ctime.setText(mList.get(position).getId()+"");
        holder.textUserName.setText(mList.get(position).getUserName());
        holder.textSf.setText(mList.get(position).getGroupId().equals("1")?
                MApplication.mContext.getString(R.string.face_hy) :MApplication.mContext.getString(R.string.face_xy));
        FrescoUtils.displayImageFresco(mList.get(position).getImageName(),holder.circleUserHead);
    }
    @Override
    public int getItemCount() {
        return mList != null ? mList.size() : 0;
    }
    @Override
    public void onClick(View v) {
        if (mItemClickListener != null) {
            mItemClickListener.onItemClick(v, (Integer) v.getTag());
        }
    }
    @Override
    public boolean onLongClick(View view) {
        if (mOnRemoveListener != null) {
            mOnRemoveListener.onRemove((Integer) view.getTag());
        }
        return true;
    }
    protected static class FaceUserViewHolder extends RecyclerView.ViewHolder {
        private View itemView;
        private SimpleDraweeView circleUserHead;
        private TextView textUserName;
        private TextView textSf;
        private TextView text_user_ctime;
        private CheckBox checkView;
        private FaceUserViewHolder(View itemView) {
            super(itemView);
            this.itemView = itemView;
            circleUserHead = itemView.findViewById(R.id.circle_user);
            textUserName = itemView.findViewById(R.id.text_user_name);
            checkView = itemView.findViewById(R.id.check_btn);
            textSf = itemView.findViewById(R.id.text_sf);
            text_user_ctime = itemView.findViewById(R.id.text_user_ctime);
        }
    }
}    // ----------------------------------------adapter相关------------------------------------------