ConversationAdapter
hacker98
plain_text
5 months ago
3.2 kB
2
Indexable
main
package com.example.chatappdemo; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; import com.example.chatappdemo.model.Conversation; import java.util.List; public class ConversationAdapter extends RecyclerView.Adapter<ConversationAdapter.ConversationViewHolder> { private List<Conversation> conversationList; private OnConversationClickListener listener; public ConversationAdapter(List<Conversation> conversationList, OnConversationClickListener listener) { this.conversationList = conversationList; this.listener=listener; } @NonNull @Override public ConversationViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()) .inflate(R.layout.item_conversation, parent, false); return new ConversationViewHolder(view); } @Override public void onBindViewHolder(@NonNull ConversationViewHolder holder, int position) { Conversation conversation = conversationList.get(position); holder.textViewConversationName.setText(conversation.getName()); holder.textViewLastMessageTime.setText(conversation.getLast_mess_time()); holder.textViewLastMessage.setText(conversation.getLast_mess()); holder.bind(conversation, listener); } @Override public int getItemCount() { return conversationList.size(); } // Hàm cập nhật toàn bộ danh sách conversation public void updateConversations(List<Conversation> newConversationList) { // Cập nhật lại danh sách dữ liệu mới this.conversationList.clear(); this.conversationList.addAll(newConversationList); // Thông báo cho adapter rằng dữ liệu đã thay đổi notifyDataSetChanged(); } public static class ConversationViewHolder extends RecyclerView.ViewHolder { TextView textViewConversationName; TextView textViewLastMessageTime; TextView textViewLastMessage; public ConversationViewHolder(@NonNull View itemView) { super(itemView); textViewConversationName = itemView.findViewById(R.id.textViewConversationName); textViewLastMessageTime = itemView.findViewById(R.id.textViewLastMessageTime); textViewLastMessage=itemView.findViewById(R.id.textViewLastMessage); } public void bind(Conversation conversation, OnConversationClickListener listener){ textViewConversationName.setText(conversation.getName()); // hoặc tên cuộc trò chuyện textViewLastMessage.setText(conversation.getLast_mess()); textViewLastMessageTime.setText(conversation.getLast_mess_time()); // Xử lý sự kiện click vào item itemView.setOnClickListener(v -> { if (listener != null) { listener.onConverstionClick(conversation); } }); } } }
Editor is loading...
Leave a Comment