a
554325746@qq.com
2019-12-25 603cb36a5123e46656b06a5deb8d7ac7ff81307f
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
package com.basic.security.fragment;
 
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.RadioButton;
import android.widget.RelativeLayout;
import android.widget.TextView;
 
import com.basic.security.base.BaseFragment;
import com.basic.security.manager.TimeManager;
import com.basic.security.model.ModelAdapter;
import com.basic.security.utils.ResolutionAdaptation;
import com.basic.security.utils.TimeRuleListDialogListener;
 
import org.androidannotations.annotations.Click;
import org.androidannotations.annotations.EFragment;
import org.androidannotations.annotations.ViewById;
 
import java.util.List;
 
@EFragment
public class TimeRuleListDialogSmallFragment extends BaseFragment {
    public static String checkedTimeRuleId = "";
    @ViewById
    public RelativeLayout rl_check_pass_time, rl_dialog;
    @ViewById
    public ListView lv_check_time;
    @ViewById
    public Button btn_check_time_save, btn_check_time_cancel;
    @ViewById
    public TextView tv_title;
    public boolean isShowTitle = true;
    TimeRuleListDialogListener timeRuleListDialogListener;
 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        return inflater.inflate(ResolutionAdaptation.fragment_time_rule_list_dialog_small(), container, false);
    }
 
    public void show() {
        super.show();
        if (isShowTitle) {
            tv_title.setVisibility(View.VISIBLE);
        } else {
            tv_title.setVisibility(View.GONE);
        }
    }
 
    @Click
    void btn_check_time_save() {
        mainActivity().hideOneFragment(mainActivity().fragment_time_rule_list_dialog);
        if (timeRuleListDialogListener != null) {
            timeRuleListDialogListener.timeRuleSelected(checkedTimeRuleId);
        }
    }
 
    @Click
    void btn_check_time_cancel() {
        mainActivity().hideOneFragment(mainActivity().fragment_time_rule_list_dialog);
    }
 
    public void showTimeRuleListDialog(String checkedRuleId, TimeRuleListDialogListener timeRuleListDialogListener) {
        this.timeRuleListDialogListener = timeRuleListDialogListener;
        checkedTimeRuleId = checkedRuleId;
        isShowTitle = true;
        List<ModelAdapter> timeRuleList = TimeManager.getAllUseTimeRule();
        TimeRuleAdapter timeRuleAdapter = new TimeRuleAdapter(timeRuleList);
        lv_check_time.setAdapter(timeRuleAdapter);
        lv_check_time.setOnItemClickListener((parent, view, position, id) -> {
            checkedTimeRuleId = timeRuleList.get(position).getId();
            timeRuleAdapter.notifyDataSetChanged();
        });
        mainActivity().showOneFragment(mainActivity().fragment_time_rule_list_dialog);
    }
 
    private class TimeRuleAdapter extends BaseAdapter {
        private List<ModelAdapter> timeRuleList;
 
        public TimeRuleAdapter(List<ModelAdapter> timeRuleList) {
            this.timeRuleList = timeRuleList;
        }
 
        public int getCount() {
            return timeRuleList == null ? 0 : timeRuleList.size();
        }
 
        public Object getItem(int position) {
            return timeRuleList.get(position);
        }
 
        public long getItemId(int position) {
            return position;
        }
 
        public View getView(int position, View convertView, ViewGroup parent) {
            ViewHolder viewHolder;
            if (convertView == null) {
                viewHolder = new ViewHolder();
                convertView = LayoutInflater.from(getActivity()).inflate(com.basic.security.utils.ResolutionAdaptation.business_time_rule(), null);
                viewHolder.radio_button = convertView.findViewById(com.basic.security.utils.RUtils.R_id_radio_button);
                viewHolder.tv_message = convertView.findViewById(com.basic.security.utils.RUtils.R_id_tv_message);
                convertView.setTag(viewHolder);
            } else {
                viewHolder = (ViewHolder) convertView.getTag();
            }
            viewHolder.tv_message.setText(timeRuleList.get(position).getString("time_rule_name"));
            viewHolder.radio_button.setChecked(false);
            if (timeRuleList.get(position).getId().equals(checkedTimeRuleId)) {
                viewHolder.radio_button.setChecked(true);
            } else {
                viewHolder.radio_button.setChecked(false);
            }
            return convertView;
        }
 
        class ViewHolder {
            RadioButton radio_button;
            TextView tv_message;
        }
    }
}