RequestReceiveAdapter
hacker98
plain_text
5 months ago
2.8 kB
1
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 com.example.chatappdemo.model.ReceiveRequest; import java.util.List; public class RequestReceiveAdapter extends RecyclerView.Adapter<RequestReceiveAdapter.RequestReceiveViewHolder> { private List<ReceiveRequest> requestList; private OnRequestClickListener listener; public RequestReceiveAdapter(List<ReceiveRequest> requestList, OnRequestClickListener listener) { this.requestList = requestList; this.listener = listener; } @NonNull @Override public RequestReceiveViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()) .inflate(R.layout.item_request_receive, parent, false); // Thay đổi layout theo tên file item layout bạn đã tạo return new RequestReceiveViewHolder(view); } @Override public void onBindViewHolder(@NonNull RequestReceiveViewHolder holder, int position) { ReceiveRequest request = requestList.get(position); holder.textViewIPRequest.setText(request.getIPRequest()); holder.textViewName.setText(request.getName()); holder.bind(request, listener); } public void updateRequestList(List<ReceiveRequest> updatedRequestList) { // Cập nhật lại danh sách dữ liệu mới this.requestList.clear(); this.requestList.addAll(updatedRequestList); // Thông báo cho adapter rằng dữ liệu đã thay đổi notifyDataSetChanged(); } @Override public int getItemCount() { return requestList.size(); } public static class RequestReceiveViewHolder extends RecyclerView.ViewHolder { TextView textViewIPRequest; TextView textViewName; public RequestReceiveViewHolder(@NonNull View itemView) { super(itemView); textViewIPRequest = itemView.findViewById(R.id.textViewIPRequest); // Đảm bảo ID đúng trong layout textViewName = itemView.findViewById(R.id.textViewName); // Đảm bảo ID đúng trong layout } public void bind(ReceiveRequest request, OnRequestClickListener listener) { // Xử lý sự kiện click vào item itemView.setOnClickListener(v -> { if (listener != null) { listener.onRequestClick(request); } }); } } }
Editor is loading...
Leave a Comment