private static class MessageAdapter extends RecyclerView.Adapter<MessageViewHolder> { private List<Message> mMessages; MessageAdapter(List<Message> messages) { mMessages = messages; } @NonNull @Override public MessageViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { LayoutInflater inflater = LayoutInflater.from(parent.getContext()); View view = inflater.inflate(R.layout.item_message, parent, false); return new MessageViewHolder(view); } @Override public void onBindViewHolder(@NonNull MessageViewHolder holder, int position) { Message message = mMessages.get(position); holder.bind(message); } @Override public int getItemCount() { return mMessages.size(); } }
时间: 2024-04-27 16:22:30 浏览: 156
定义一个静态内部类 MessageAdapter,并继承自 RecyclerView.Adapter<MessageViewHolder> 类。该类有一个成员变量 mMessages,用于存储消息列表。在构造函数中接收一个 List<Message> 类型的参数 messages,并将其赋值给 mMessages。该类实现了三个方法:
1. onCreateViewHolder(ViewGroup parent, int viewType):该方法用于创建 ViewHolder 实例。在该方法中,首先通过 LayoutInflater.from(parent.getContext()) 获取 LayoutInflater 实例,然后使用该实例从布局文件 item_message 中创建一个 View 实例。最后创建一个 MessageViewHolder 实例,并将该 View 实例作为参数传入,并返回该实例。
2. onBindViewHolder(MessageViewHolder holder, int position):该方法用于将数据绑定到 ViewHolder 上。在该方法中,首先从 mMessages 中获取指定位置的 Message 对象,然后调用 ViewHolder 的 bind 方法将该对象绑定到 ViewHolder 上。
3. getItemCount():该方法返回消息列表的长度,即 mMessages.size() 的值。
阅读全文