RecyclerView的基本使用
来源:互联网 发布:form表单转换成json 编辑:程序博客网 时间:2024/06/04 17:41
新建MessageAdapter类继承RecyclerView.Adapter。
public class MessageAdapter extends RecyclerView.Adapter<MessageHolder> { private int RESOURCE_ID = R.layout.app_list_item_message; private List<Message> dataList = new ArrayList<>(); private Context context; @Override public MessageHolder onCreateViewHolder(ViewGroup parent, int viewType) { context = parent.getContext(); View rootView = View.inflate(context, RESOURCE_ID, null); return new MessageHolder(rootView, onItemClickListener); } @Override public void onBindViewHolder(MessageHolder holder, int position) { holder.setData(context, dataList.get(position)); } @Override public int getItemCount() { return dataList.size(); } public void addAll(List<Message> dataList) { this.dataList.addAll(dataList); notifyDataSetChanged(); } public void clear() { this.dataList.clear(); notifyDataSetChanged(); } public List<Message> getAll() { return this.dataList; } OnMsgItemClickListener onItemClickListener; public void setOnItemClickListener(OnMsgItemClickListener onItemClickListener) { this.onItemClickListener = onItemClickListener; } public interface OnMsgItemClickListener { void onItemClick(View view, Message message); }}class MessageHolder extends RecyclerView.ViewHolder { private MessageAdapter.OnMsgItemClickListener onItemClickListener; private TextView tv_title; private TextView tv_content; private TextView tv_time; private LinearLayout ll; MessageHolder(View itemView, MessageAdapter.OnMsgItemClickListener onItemClickListener) { super(itemView); this.onItemClickListener = onItemClickListener; tv_title = (TextView) itemView.findViewById(R.id.tv_title); tv_time = (TextView) itemView.findViewById(R.id.tv_time); tv_content = (TextView) itemView.findViewById(R.id.tv_content); ll = (LinearLayout) itemView.findViewById(R.id.ll); } public void setData(final Context context, final Message message) { if (message == null) { return; } tv_title.setText(message.msgTitle); tv_time.setText(DateTimeUtils.parseDatetime(message.createTime)); tv_content.setText(message.msgContent); ll.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (onItemClickListener != null) { onItemClickListener.onItemClick(v, message); } } }); }}
0 0
- RecyclerView的基本使用
- RecyclerView的基本使用
- RecyclerView的基本使用
- RecyclerView的基本使用
- RecyclerView的基本使用
- RecyclerView的基本使用
- RecyclerView的基本使用
- RecyclerView的基本使用
- RecyclerView的基本使用
- RecyclerView的基本使用
- RecyclerView的基本使用
- RecyclerView的基本使用
- Android RecyclerView的基本使用
- Android RecyclerView 的基本使用
- RecyclerView CardView的基本使用
- RecyclerView最基本的使用
- RecyclerView的基本使用步骤
- Andrroid RecyclerView的基本使用
- P03: 多重背包问题
- Nginx TCP负载配置模板
- Express之托管静态文件
- python标准算术运算符操作实例
- Disruptors 并发框架介绍--Martin Fowler 《The LMAX Architecture》
- RecyclerView的基本使用
- xml字符串解析
- MySQL 如何存储大数据
- 33个2017年必须了解的iOS开源库
- 进击的NB-IoT:满眼望去,全是5G世界的样子
- malloc、calloc、realloc的区别
- Netty源码解读------------ServerBootstrap的启动(一)
- 关于直播,所有的技术细节都在这里了(一)
- 队列的链式存储结构