package com.uiuios.aios.adapter; 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 androidx.annotation.NonNull; import androidx.constraintlayout.widget.ConstraintLayout; import androidx.recyclerview.widget.RecyclerView; import com.uiuios.aios.R; import com.uiuios.aios.bean.AddressInfo; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class AddressAdapter extends RecyclerView.Adapter { private Context mContext; List mAddressInfoList; public void setAddressInfoList(List addressInfoList) { mAddressInfoList = addressInfoList; notifyDataSetChanged(); } public interface ClickListener { void onClickListener(AddressInfo addressInfo); } private ClickListener mClickListener; public void setClickListener(ClickListener clickListener) { mClickListener = clickListener; } @NonNull @Override public AddressHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { mContext = parent.getContext(); return new AddressAdapter.AddressHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_address, parent, false)); } @Override public void onBindViewHolder(@NonNull AddressHolder holder, int position) { AddressInfo addressInfo = mAddressInfoList.get(position); holder.root.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (mClickListener != null) { mClickListener.onClickListener(addressInfo); } } }); holder.tv_name.setText(addressInfo.getFullname()); holder.tv_phone.setText(addressInfo.getTel()); String area = addressInfo.getArea(); List areaList = new ArrayList<>(Arrays.asList(area.split(","))); holder.tv_address.setText(String.join(" ", areaList) + " " + addressInfo.getAddress()); int isDefault = addressInfo.getIs_default(); if (isDefault == 1) { holder.tv_default.setVisibility(View.VISIBLE); } else { holder.tv_default.setVisibility(View.GONE); } } @Override public int getItemCount() { return mAddressInfoList == null ? 0 : mAddressInfoList.size(); } class AddressHolder extends RecyclerView.ViewHolder { ConstraintLayout root; ImageView iv_avatar; TextView tv_name, tv_phone, tv_default, tv_address; public AddressHolder(@NonNull View itemView) { super(itemView); root = itemView.findViewById(R.id.root); iv_avatar = itemView.findViewById(R.id.iv_avatar); tv_name = itemView.findViewById(R.id.tv_name); tv_phone = itemView.findViewById(R.id.tv_phone); tv_default = itemView.findViewById(R.id.tv_default); tv_address = itemView.findViewById(R.id.tv_address); } } }