RequestReceiveAdapter
hacker98
plain_text
a year ago
2.8 kB
5
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