package com.dayu.pipirrapp.adapter;
|
|
import android.content.Context;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
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.activity.IssueListActivity;
|
import com.dayu.pipirrapp.bean.net.IssueResult;
|
import com.dayu.pipirrapp.databinding.ItemIssueBinding;
|
import com.dayu.pipirrapp.databinding.ItemNoMoreBinding;
|
|
import java.util.List;
|
|
/**
|
* IssueAdapter -
|
*
|
* @author zuoxiao
|
* @version 1.0
|
* @since 2024-12-10
|
*/
|
public class IssueAdapter extends BaseRecyclerAdapter<RecyclerView.ViewHolder> {
|
|
|
List<IssueResult> recordsList;
|
IssueListActivity activity;
|
|
public IssueAdapter(IssueListActivity activity, List<IssueResult> recordsList) {
|
this.activity = activity;
|
this.recordsList = recordsList;
|
}
|
|
@NonNull
|
@Override
|
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
|
if (viewType == VIEW_TYPE_EMPTY) {
|
ItemNoMoreBinding emptyView = DataBindingUtil.inflate((LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE), R.layout.item_no_more, parent, false);
|
return new BaseRecyclerAdapter.ViewHolderEmpty(emptyView);
|
} else {
|
ItemIssueBinding binding = DataBindingUtil.inflate((LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE), R.layout.item_issue, parent, false);
|
return new ViewHolder(binding, activity);
|
}
|
}
|
|
@Override
|
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
|
if (holder instanceof ViewHolder) {
|
if (recordsList.size() > 0) {
|
IssueResult record = recordsList.get(position);
|
((ViewHolder) holder).getBinding().setData(record);
|
ViewHolder mHolder = ((ViewHolder) holder);
|
//状态;1-未受理,2-已受理,3已删除
|
switch (record.getStateId()) {
|
case 1://未受理
|
mHolder.mBinding.stateText.setTextColor(activity.getResources().getColor(R.color.black, null));
|
mHolder.mBinding.stateText.setBackground(activity.getResources().getDrawable(R.drawable.order_state_no_bg, null));
|
mHolder.mBinding.replyContentLL.setVisibility(View.GONE);
|
mHolder.mBinding.replyTimeLL.setVisibility(View.GONE);
|
break;
|
case 2://已受理
|
mHolder.mBinding.stateText.setTextColor(activity.getResources().getColor(R.color.white, null));
|
mHolder.mBinding.stateText.setBackground(activity.getResources().getDrawable(R.drawable.order_state_wait_bg, null));
|
mHolder.mBinding.replyContentLL.setVisibility(View.VISIBLE);
|
mHolder.mBinding.replyTimeLL.setVisibility(View.VISIBLE);
|
break;
|
case 3://3已删除
|
mHolder.mBinding.stateText.setTextColor(activity.getResources().getColor(R.color.white, null));
|
mHolder.mBinding.stateText.setBackground(activity.getResources().getDrawable(R.drawable.order_state_reject_bg, null));
|
mHolder.mBinding.replyContentLL.setVisibility(View.VISIBLE);
|
mHolder.mBinding.replyTimeLL.setVisibility(View.VISIBLE);
|
break;
|
|
}
|
|
}
|
}
|
}
|
|
@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 {
|
ItemIssueBinding mBinding;
|
|
public ItemIssueBinding getBinding() {
|
return mBinding;
|
}
|
|
public void setBinding(ItemIssueBinding binding) {
|
this.mBinding = binding;
|
}
|
|
public ViewHolder(ItemIssueBinding itemView, IssueListActivity issueListActivity) {
|
super(itemView.getRoot());
|
this.mBinding = itemView;
|
mBinding.setItemclidk(issueListActivity);
|
}
|
}
|
|
|
}
|