package com.dayu.pipirrapp.adapter;
|
|
import android.content.Context;
|
import android.view.LayoutInflater;
|
import android.view.ViewGroup;
|
|
import androidx.annotation.NonNull;
|
import androidx.databinding.DataBindingUtil;
|
import androidx.recyclerview.widget.RecyclerView;
|
|
import com.dayu.pipirrapp.R;
|
import com.dayu.pipirrapp.bean.net.OrderListResult;
|
import com.dayu.pipirrapp.databinding.ItemNoMoreBinding;
|
import com.dayu.pipirrapp.databinding.ItemOrderBinding;
|
import com.dayu.pipirrapp.fragment.OrderFragment;
|
|
import java.util.List;
|
|
/**
|
* OrderAdapter -
|
* 工单列表
|
*
|
* @author zuoxiao
|
* @version 1.0
|
* @since 2024-11-27
|
*/
|
public class OrderAdapter extends BaseRecyclerAdapter<RecyclerView.ViewHolder> {
|
|
|
List<OrderListResult.Data> recordsList;
|
Context context;
|
OrderFragment orderFragment;
|
|
public OrderAdapter(Context context, List<OrderListResult.Data> recordsList, OrderFragment orderFragment) {
|
this.context = context;
|
this.recordsList = recordsList;
|
this.orderFragment = orderFragment;
|
}
|
|
@NonNull
|
@Override
|
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
|
if (viewType == VIEW_TYPE_EMPTY) {
|
ItemNoMoreBinding emptyView = DataBindingUtil.inflate((LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE), R.layout.item_no_more, parent, false);
|
return new BaseRecyclerAdapter.ViewHolderEmpty(emptyView);
|
} else {
|
ItemOrderBinding binding = DataBindingUtil.inflate((LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE), R.layout.item_order, parent, false);
|
return new OrderAdapter.ViewHolder(binding, orderFragment);
|
}
|
}
|
|
@Override
|
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
|
if (holder instanceof OrderAdapter.ViewHolder) {
|
if (recordsList.size() > 0) {
|
OrderListResult.Data record = recordsList.get(position);
|
((OrderAdapter.ViewHolder) holder).getBinding().setData(record);
|
}
|
}
|
}
|
|
@Override
|
public int getItemCount() {
|
//同时这里也需要添加判断,如果mData.size()为0的话,只引入一个布局,就是emptyView
|
// 那么,这个recyclerView的itemCount为1
|
if (recordsList != null) {
|
if (recordsList.size() == 0) {
|
return 1;
|
}
|
return recordsList.size();
|
} else {
|
return 1;
|
}
|
|
}
|
|
@Override
|
public int getItemViewType(int position) {
|
if (recordsList != null) {
|
if (recordsList.size() == 0) {
|
return VIEW_TYPE_EMPTY;
|
} else {
|
return VIEW_TYPE_ITEM;
|
}
|
} else {
|
return VIEW_TYPE_EMPTY;
|
}
|
}
|
|
static class ViewHolder extends RecyclerView.ViewHolder {
|
ItemOrderBinding mBinding;
|
|
public ItemOrderBinding getBinding() {
|
return mBinding;
|
}
|
|
public void setBinding(ItemOrderBinding binding) {
|
this.mBinding = binding;
|
}
|
|
public ViewHolder(ItemOrderBinding itemView, OrderFragment orderFragment) {
|
super(itemView.getRoot());
|
this.mBinding = itemView;
|
mBinding.setItemclidk(orderFragment);
|
}
|
}
|
|
|
}
|