修改名称。
This commit is contained in:
@@ -0,0 +1,117 @@
|
||||
package com.xscm.modulemain.adapter;
|
||||
|
||||
import android.util.SparseBooleanArray;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.xscm.modulemain.R;
|
||||
import com.makeramen.roundedimageview.RoundedImageView;
|
||||
import com.xscm.moduleutil.bean.room.RoomApplyListBean;
|
||||
import com.xscm.moduleutil.color.ThemeableDrawableUtils;
|
||||
import com.xscm.moduleutil.utils.ColorManager;
|
||||
import com.xscm.moduleutil.utils.ImageUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class WheatFeedingSelectAdapter extends RecyclerView.Adapter<WheatFeedingSelectAdapter.ViewHolder> {
|
||||
|
||||
private final List<RoomApplyListBean.Special> mData;
|
||||
private final List<Integer> mSelectedPositions = new ArrayList<>();
|
||||
private SparseBooleanArray selectedPositions = new SparseBooleanArray();
|
||||
public WheatFeedingSelectAdapter(List<RoomApplyListBean.Special> data) {
|
||||
this.mData = data;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
View view = LayoutInflater.from(parent.getContext())
|
||||
.inflate(R.layout.item_wheat_feeding_select, parent, false);
|
||||
return new ViewHolder(view);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
|
||||
RoomApplyListBean.Special item = mData.get(position);
|
||||
boolean isSelected = selectedPositions.get(position, false);
|
||||
holder.nickname.setText(item.getNickname());
|
||||
holder.jin_e.setText(item.getRank_value());
|
||||
ImageUtils.loadHeadCC(item.getAvatar(), holder.userAvatar);
|
||||
|
||||
ThemeableDrawableUtils.setThemeableRoundedBackground(holder.tv_bm, ColorManager.getInstance().getPrimaryColorInt(), 65);
|
||||
holder.tv_bm.setTextColor(ColorManager.getInstance().getButtonColorInt());
|
||||
|
||||
holder.checkbox.setSelected(isSelected);
|
||||
holder.checkbox.setOnClickListener(v -> {
|
||||
boolean newState = !isSelected;
|
||||
selectedPositions.put(position, newState);
|
||||
holder.checkbox.setSelected(newState);
|
||||
notifyItemChanged(position); // 刷新当前项
|
||||
if (newState) {
|
||||
mSelectedPositions.add(position);
|
||||
} else {
|
||||
mSelectedPositions.remove(Integer.valueOf(position)); // 修改这里
|
||||
}
|
||||
});
|
||||
holder.tv_bm.setOnClickListener(v -> {
|
||||
if (onItemClickListener != null) {
|
||||
onItemClickListener.onTvBmClick(item,position);
|
||||
}
|
||||
});
|
||||
// holder.itemView.setOnClickListener(v -> toggleSelection(position));
|
||||
|
||||
}
|
||||
public interface OnItemClickListener {
|
||||
void onTvBmClick(RoomApplyListBean.Special item,int position);
|
||||
}
|
||||
private OnItemClickListener onItemClickListener;
|
||||
public void setOnItemClickListener(OnItemClickListener listener) {
|
||||
this.onItemClickListener = listener;
|
||||
}
|
||||
|
||||
|
||||
public void toggleSelection(int position) {
|
||||
if (mSelectedPositions.contains(position)) {
|
||||
mSelectedPositions.remove(Integer.valueOf(position));
|
||||
} else {
|
||||
mSelectedPositions.add(position);
|
||||
}
|
||||
notifyItemChanged(position);
|
||||
}
|
||||
|
||||
public List<String> getSelectedItems() {
|
||||
List<String> selected = new ArrayList<>();
|
||||
for (int pos : mSelectedPositions) {
|
||||
selected.add(mData.get(pos).getUser_id());
|
||||
}
|
||||
return selected;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return mData.size();
|
||||
}
|
||||
|
||||
static class ViewHolder extends RecyclerView.ViewHolder {
|
||||
RoundedImageView userAvatar;
|
||||
TextView nickname;
|
||||
TextView jin_e;
|
||||
TextView tv_bm;
|
||||
View checkbox ;
|
||||
|
||||
public ViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
userAvatar = itemView.findViewById(R.id.user_avatar);
|
||||
nickname = itemView.findViewById(R.id.nick_name);
|
||||
jin_e = itemView.findViewById(R.id.jin_e);
|
||||
tv_bm = itemView.findViewById(R.id.tv_bm);
|
||||
checkbox = itemView.findViewById(R.id.v_checkbox);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user