package com.gzsll.hupu.ui.account; import android.net.Uri; import android.support.v7.widget.RecyclerView; import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import com.facebook.drawee.view.SimpleDraweeView; import com.gzsll.hupu.R; import com.gzsll.hupu.db.User; import java.util.ArrayList; import java.util.List; import javax.inject.Inject; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; /** * Created by sll on 2016/3/10. */ public class AccountAdapter extends RecyclerView.Adapter<AccountAdapter.ViewHolder> { public interface OnItemClickListener { void onAccountItemDelClicked(User user); void onAccountItemClicked(User user); } private List<User> users = new ArrayList<>(); private OnItemClickListener onItemClickListener; @Inject public AccountAdapter() { } public void bind(List<User> users) { this.users = users; notifyDataSetChanged(); } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { return new ViewHolder(LayoutInflater.from(parent.getContext()) .inflate(R.layout.item_list_account, parent, false)); } @Override public void onBindViewHolder(ViewHolder holder, int position) { User user = users.get(position); holder.user = user; if (!TextUtils.isEmpty(user.getIcon())) { holder.ivIcon.setImageURI(Uri.parse(user.getIcon())); } holder.tvName.setText(user.getUserName()); holder.tvDesc.setText(user.getRegisterTime()); } @Override public int getItemCount() { return users.size(); } public void setOnItemClickListener(OnItemClickListener onItemClickListener) { this.onItemClickListener = onItemClickListener; } class ViewHolder extends RecyclerView.ViewHolder { @BindView(R.id.tvName) TextView tvName; @BindView(R.id.tvDesc) TextView tvDesc; @BindView(R.id.ivIcon) SimpleDraweeView ivIcon; User user; @OnClick(R.id.rlDel) void rlDelClick() { if (onItemClickListener != null) { onItemClickListener.onAccountItemDelClicked(user); } } @OnClick(R.id.llItem) void llItemClick() { if (onItemClickListener != null) { onItemClickListener.onAccountItemClicked(user); } } public ViewHolder(View itemView) { super(itemView); ButterKnife.bind(this, itemView); } } }