mac
2023-12-01 593303fa91fd541844b204ec913c462d7855a31e
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
package com.hdl.photovoltaic.widget.adapter;
 
import android.content.Context;
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.hdl.photovoltaic.R;
import com.hdl.photovoltaic.config.UserConfigManage;
 
import java.util.List;
 
public class ListDialogAdapter extends RecyclerView.Adapter<ListDialogAdapter.MyViewHolder> {
 
 
    private List<ListDialogAdapter.DialogItemData> mList;
    private final Context mContext;
    private ListDialogAdapter.OnclickListener itemOnclickListener;//点击了的监听器
 
    public ListDialogAdapter(List<ListDialogAdapter.DialogItemData> list, Context context) {
 
        this.mList = list;
        this.mContext = context;
    }
 
    @NonNull
    @Override
    public ListDialogAdapter.MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
 
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.diaog_list_line, parent, false);
        return new ListDialogAdapter.MyViewHolder(view);
    }
 
    @Override
    public void onBindViewHolder(@NonNull ListDialogAdapter.MyViewHolder holder, int position) {
        ListDialogAdapter.DialogItemData itemData = this.mList.get(position);
        holder.list_item_title_tv.setText(itemData.getTitle());
        holder.list_item_title_tv.setTextColor(mContext.getColor(R.color.text_50FFFFFF));
        if (itemData.isState()) {
            holder.list_item_title_tv.setTextColor(mContext.getColor(R.color.text_FFFFFFFF));
        }
        if (position == this.mList.size() - 1) {
            holder.list_item_line_v.setVisibility(View.GONE);
        }
        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (itemOnclickListener != null) {
                    itemOnclickListener.onClick(holder.getAdapterPosition(), itemData);
                }
            }
        });
 
    }
 
    @Override
    public int getItemCount() {
        return this.mList == null ? 0 : this.mList.size();
    }
 
 
    public void setList(List<ListDialogAdapter.DialogItemData> list) {
        this.mList = list;
    }
 
    public void setItemOnclickListener(ListDialogAdapter.OnclickListener onclickListener) {
        this.itemOnclickListener = onclickListener;
    }
 
    /**
     * 一行布局容器
     */
    static class MyViewHolder extends RecyclerView.ViewHolder {
 
 
        public TextView list_item_title_tv;
 
        public View list_item_line_v;
 
        public MyViewHolder(@NonNull View itemView) {
            super(itemView);
            list_item_title_tv = itemView.findViewById(R.id.list_item_title_tv);
            list_item_line_v = itemView.findViewById(R.id.list_item_line_v);
        }
    }
 
    public interface OnclickListener {
        void onClick(int position, ListDialogAdapter.DialogItemData itemData);
    }
 
    public static class DialogItemData {
 
        private String title;
        private boolean state;
        //app当前语言
        private String language = UserConfigManage.getInstance().getCurrentAppLanguage();
 
        public String getLanguage() {
            return language;
        }
 
        public void setLanguage(String language) {
            this.language = language;
        }
 
        public String getTitle() {
            return title == null ? "" : title;
        }
 
        public void setTitle(String title) {
            this.title = title;
        }
 
        public boolean isState() {
            return state;
        }
 
        public void setState(boolean state) {
            this.state = state;
        }
 
 
    }
 
}