package com.gzsll.hupu.ui.messagelist;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.gzsll.hupu.R;
import com.gzsll.hupu.bean.Message;
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/11.
*/
public class MessageListAdapter extends RecyclerView.Adapter<MessageListAdapter.ViewHolder> {
@Inject
public MessageListAdapter() {
}
public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
this.onItemClickListener = onItemClickListener;
}
public interface OnItemClickListener {
void onMessageClick(Message message);
}
private List<Message> messages = new ArrayList<>();
private OnItemClickListener onItemClickListener;
public void bind(List<Message> messages) {
this.messages = messages;
notifyDataSetChanged();
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
return new ViewHolder(LayoutInflater.from(parent.getContext())
.inflate(R.layout.item_list_message, parent, false));
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
Message message = messages.get(position);
holder.message = message;
holder.tvTime.setText(message.time);
holder.tvCategory.setText(message.catergory);
holder.tvInfo.setText(message.info);
}
@Override
public int getItemCount() {
return messages.size();
}
public void remove(Message message) {
messages.remove(message);
notifyDataSetChanged();
}
class ViewHolder extends RecyclerView.ViewHolder {
@BindView(R.id.tvCategory)
TextView tvCategory;
@BindView(R.id.tvInfo)
TextView tvInfo;
@BindView(R.id.tvTime)
TextView tvTime;
Message message;
@OnClick(R.id.listItem)
void listItemClick() {
if (onItemClickListener != null) {
onItemClickListener.onMessageClick(message);
}
}
public ViewHolder(View itemView) {
super(itemView);
ButterKnife.bind(this, itemView);
}
}
}