package com.gzsll.hupu.ui.pmlist;
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.bean.Pm;
import com.gzsll.hupu.widget.LabelCardView;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.inject.Inject;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
/**
* Created by sll on 2016/5/6.
*/
public class PmListAdapter extends RecyclerView.Adapter<PmListAdapter.ViewHolder> {
public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
this.onItemClickListener = onItemClickListener;
}
public interface OnItemClickListener {
void onPmListClick(Pm pm);
}
@Inject
public PmListAdapter() {
}
private List<Pm> pms = new ArrayList<>();
private OnItemClickListener onItemClickListener;
public void bind(List<Pm> pms) {
this.pms = pms;
notifyDataSetChanged();
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
return new ViewHolder(
LayoutInflater.from(parent.getContext()).inflate(R.layout.item_list_pm, parent, false));
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
Pm pm = pms.get(position);
holder.mPm = pm;
if (!TextUtils.isEmpty(pm.header)) {
holder.ivIcon.setImageURI(Uri.parse(pm.header));
}
holder.tvContent.setText(pm.content);
holder.tvName.setText(pm.nickname);
SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = new Date(Long.valueOf(pm.last_time) * 1000);
holder.tvTime.setText(format.format(date));
if (!TextUtils.isEmpty(pm.unread) && pm.unread.equals("1")) {
holder.cardView.setLabelText("NEW");
holder.cardView.setLabelVisual(true);
} else {
holder.cardView.setLabelVisual(false);
}
}
@Override
public int getItemCount() {
return pms.size();
}
class ViewHolder extends RecyclerView.ViewHolder {
Pm mPm;
@BindView(R.id.tvName)
TextView tvName;
@BindView(R.id.tvContent)
TextView tvContent;
@BindView(R.id.tvTime)
TextView tvTime;
@BindView(R.id.ivIcon)
SimpleDraweeView ivIcon;
@BindView(R.id.listItem)
LabelCardView cardView;
@OnClick(R.id.listItem)
void listItemClick() {
if (onItemClickListener != null) {
onItemClickListener.onPmListClick(mPm);
}
}
public ViewHolder(View itemView) {
super(itemView);
ButterKnife.bind(this, itemView);
}
}
}