管灌系统巡查员智能手机App
zuoxiao
2024-12-18 32275aa66faa5371467e291b7d19a5e782f8aade
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
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);
                switch (record.getProResultStateId()) {
                    case 0://未上报
                        ((ViewHolder) holder).mBinding.stateText.setTextColor(context.getResources().getColor(R.color.black,null));
                        ((ViewHolder) holder).mBinding.stateText.setBackground(context.getResources().getDrawable(R.drawable.order_state_no_bg,null));
                        break;
                    case 1://已上报
                        ((ViewHolder) holder).mBinding.stateText.setTextColor(context.getResources().getColor(R.color.white,null));
                        ((ViewHolder) holder).mBinding.stateText.setBackground(context.getResources().getDrawable(R.drawable.order_state_wait_bg,null));
                        break;
                    case 2://已完成
                        ((ViewHolder) holder).mBinding.stateText.setTextColor(context.getResources().getColor(R.color.white,null));
                        ((ViewHolder) holder).mBinding.stateText.setBackground(context.getResources().getDrawable(R.drawable.order_state_finish_bg,null));
                        break;
                    case 3://被驳回
                        ((ViewHolder) holder).mBinding.stateText.setTextColor(context.getResources().getColor(R.color.white,null));
                        ((ViewHolder) holder).mBinding.stateText.setBackground(context.getResources().getDrawable(R.drawable.order_state_reject_bg,null));
                        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 {
        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);
        }
    }
 
 
}