package com.basic.security.fragment;
|
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.view.ViewGroup;
|
import android.widget.AdapterView;
|
import android.widget.ArrayAdapter;
|
import android.widget.BaseAdapter;
|
import android.widget.Button;
|
import android.widget.CheckBox;
|
import android.widget.CompoundButton;
|
import android.widget.ListView;
|
import android.widget.RadioButton;
|
import android.widget.RelativeLayout;
|
import android.widget.Spinner;
|
import android.widget.TextView;
|
|
import com.basic.security.R;
|
import com.basic.security.base.BaseFragment;
|
import com.basic.security.manager.impl.cblite.BusinessDetailManager;
|
import com.basic.security.manager.impl.cblite.TimeManager;
|
import com.basic.security.model.ModelAdapter;
|
|
import org.androidannotations.annotations.Click;
|
import org.androidannotations.annotations.EFragment;
|
import org.androidannotations.annotations.ViewById;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
@EFragment(R.layout.fragment_face_detail_time)
|
public class FaceDetailTimeFragment extends BaseFragment {
|
|
public static String checkedTimeRuleId = "";
|
@ViewById
|
public RelativeLayout rl_check_pass_time, rl_dialog;
|
public List<String> checkedDeviceList = new ArrayList<>();
|
@ViewById
|
ListView lv_check_time;
|
@ViewById
|
Button btn_check_time_save, btn_check_time_cancel;
|
@ViewById
|
TextView tv_title;
|
private boolean isShowTitle = true;
|
|
public void hide() {
|
}
|
|
@Override
|
public void show() {
|
super.show();
|
if (isShowTitle) {
|
tv_title.setVisibility(View.VISIBLE);
|
} else {
|
tv_title.setVisibility(View.GONE);
|
}
|
}
|
|
@Click
|
void btn_check_time_save() {
|
System.out.println(checkedTimeRuleId);
|
mainActivity().hideOneFragment(mainActivity().fragment_face_detail_time);
|
}
|
|
@Click
|
void btn_check_time_cancel() {
|
// checkedTimeRuleId = "";
|
mainActivity().hideOneFragment(mainActivity().fragment_face_detail_time);
|
}
|
|
/**
|
* 选择集群设备的弹出框
|
*/
|
public void checkDevice() {
|
isShowTitle = false;
|
mainActivity().showOneFragment(mainActivity().fragment_face_detail_time);
|
List<ModelAdapter> allDevice = BusinessDetailManager.getDeviceDataList();
|
AllDeviceAdapter allDeviceAdapter = new AllDeviceAdapter(allDevice);
|
lv_check_time.setAdapter(allDeviceAdapter);
|
|
}
|
|
public void checkPassTime(String checkedRuleId) {
|
checkedTimeRuleId = checkedRuleId;
|
isShowTitle = true;
|
List<ModelAdapter> timeRuleList = TimeManager.getAllUseTimeRule();
|
TimeRuleAdapter timeRuleAdapter = new TimeRuleAdapter(timeRuleList);
|
lv_check_time.setAdapter(timeRuleAdapter);
|
lv_check_time.setOnItemClickListener(new AdapterView.OnItemClickListener() {
|
@Override
|
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
checkedTimeRuleId = timeRuleList.get(position).getId();
|
timeRuleAdapter.notifyDataSetChanged();
|
}
|
});
|
mainActivity().showOneFragment(mainActivity().fragment_face_detail_time);
|
|
}
|
|
private class AllDeviceAdapter extends BaseAdapter {
|
private List<ModelAdapter> allDevice;
|
|
public AllDeviceAdapter(List<ModelAdapter> allDevice) {
|
this.allDevice = allDevice;
|
}
|
|
@Override
|
public int getCount() {
|
return allDevice == null ? 0 : allDevice.size();
|
}
|
|
@Override
|
public Object getItem(int position) {
|
return allDevice.get(position);
|
}
|
|
@Override
|
public long getItemId(int position) {
|
return position;
|
}
|
|
@Override
|
public View getView(int position, View convertView, ViewGroup parent) {
|
ViewHolder viewHolder = null;
|
if (convertView == null) {
|
viewHolder = new ViewHolder();
|
convertView = LayoutInflater.from(getActivity()).inflate(R.layout.checkbox_spinner_item, null);
|
viewHolder.checkBox = convertView.findViewById(R.id.ck_item_spinner);
|
viewHolder.spinner = convertView.findViewById(R.id.spinner_item_spinner);
|
viewHolder.spinner.setEnabled(false);
|
convertView.setTag(viewHolder);
|
} else {
|
viewHolder = (ViewHolder) convertView.getTag();
|
}
|
viewHolder.checkBox.setText(allDevice.get(position).getString("name"));
|
checkedDeviceList.add(allDevice.get(position).getString("name"));
|
ViewHolder finalViewHolder = viewHolder;
|
viewHolder.checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
@Override
|
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
if (finalViewHolder.checkBox.isChecked()) {
|
checkedDeviceList.add(allDevice.get(position).getString("name"));
|
} else {
|
if (checkedDeviceList.contains(allDevice.get(position).getString("name"))) {
|
checkedDeviceList.remove(allDevice.get(position).getString("name"));
|
}
|
}
|
}
|
});
|
|
initSpinner(viewHolder.spinner);
|
return convertView;
|
}
|
|
private void initSpinner(Spinner spinner) {
|
String[] arr = {"允许通行"
|
// , "有效时间内通行", "确认通行", "拒绝通行"
|
};
|
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getContext(), R.layout.spinner_item, arr);
|
spinner.setPopupBackgroundResource(R.color.press_menu_text);
|
spinner.setAdapter(adapter);
|
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
|
@Override
|
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
|
|
}
|
|
@Override
|
public void onNothingSelected(AdapterView<?> parent) {
|
|
}
|
});
|
}
|
|
class ViewHolder {
|
CheckBox checkBox;
|
Spinner spinner;
|
}
|
}
|
|
private class TimeRuleAdapter extends BaseAdapter {
|
private List<ModelAdapter> timeRuleList;
|
|
public TimeRuleAdapter(List<ModelAdapter> timeRuleList) {
|
this.timeRuleList = timeRuleList;
|
}
|
|
@Override
|
public int getCount() {
|
return timeRuleList == null ? 0 : timeRuleList.size();
|
}
|
|
@Override
|
public Object getItem(int position) {
|
return timeRuleList.get(position);
|
}
|
|
@Override
|
public long getItemId(int position) {
|
return position;
|
}
|
|
@Override
|
public View getView(int position, View convertView, ViewGroup parent) {
|
ViewHolder viewHolder = null;
|
if (convertView == null) {
|
viewHolder = new ViewHolder();
|
convertView = LayoutInflater.from(getActivity()).inflate(R.layout.business_time_rule, null);
|
viewHolder.radio_button = convertView.findViewById(R.id.radio_button);
|
viewHolder.tv_message = convertView.findViewById(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 (TextUtils.isEmpty(checkedTimeRuleId) && position == 0) {
|
viewHolder.radio_button.setChecked(true);
|
checkedTimeRuleId = timeRuleList.get(position).getId();
|
}*/
|
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;
|
}
|
}
|
|
}
|