package com.basic.security.fragment;
|
|
import android.os.Bundle;
|
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.ListView;
|
import android.widget.RelativeLayout;
|
import android.widget.Spinner;
|
import android.widget.TextView;
|
|
import com.basic.security.base.BaseFragment;
|
import com.basic.security.manager.BusinessDetailManager;
|
import com.basic.security.model.ModelAdapter;
|
import com.basic.security.utils.ResolutionAdaptation;
|
|
import org.androidannotations.annotations.Click;
|
import org.androidannotations.annotations.EFragment;
|
import org.androidannotations.annotations.ViewById;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
@EFragment
|
public class DeviceListDialogFragment 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;
|
public List<String> checkedDeviceList = new ArrayList<>();
|
|
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
return inflater.inflate(ResolutionAdaptation.fragment_device_list_dialog(), 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() {
|
System1.out.println(checkedTimeRuleId);
|
mainActivity().hideOneFragment(mainActivity().fragment_device_list_dialog);
|
}
|
|
@Click
|
void btn_check_time_cancel() {
|
mainActivity().hideOneFragment(mainActivity().fragment_device_list_dialog);
|
}
|
|
//选择集群设备的弹出框
|
public void showDeviceListDialog() {
|
isShowTitle = false;
|
mainActivity().showOneFragment(mainActivity().fragment_device_list_dialog);
|
List<ModelAdapter> allDevice = BusinessDetailManager.getDeviceDataList();
|
DeviceListAdapter allDeviceAdapter = new DeviceListAdapter(allDevice);
|
lv_check_time.setAdapter(allDeviceAdapter);
|
}
|
|
private class DeviceListAdapter extends BaseAdapter {
|
private List<ModelAdapter> allDevice = new ArrayList<>();
|
|
public DeviceListAdapter(List<ModelAdapter> allDevice) {
|
this.allDevice.clear();
|
this.allDevice.addAll(allDevice);
|
}
|
|
public int getCount() {
|
return allDevice == null ? 0 : allDevice.size();
|
}
|
|
public Object getItem(int position) {
|
return allDevice.get(position);
|
}
|
|
public long getItemId(int position) {
|
return position;
|
}
|
|
public View getView(int position, View convertView, ViewGroup parent) {
|
long begin = System.currentTimeMillis();
|
ViewHolder viewHolder;
|
if (convertView == null) {
|
viewHolder = new ViewHolder();
|
convertView = LayoutInflater.from(getActivity()).inflate(com.basic.security.utils.ResolutionAdaptation.checkbox_spinner_item(), null);
|
viewHolder.checkBox = convertView.findViewById(com.basic.security.utils.RUtils.R_id_ck_item_spinner);
|
viewHolder.spinner = convertView.findViewById(com.basic.security.utils.RUtils.R_id_spinner_item_spinner);
|
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((buttonView, 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(), com.basic.security.utils.ResolutionAdaptation.spinner_item(), arr);
|
spinner.setPopupBackgroundResource(com.basic.security.utils.RUtils.R_color_press_menu_text);
|
spinner.setAdapter(adapter);
|
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
|
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
|
}
|
|
public void onNothingSelected(AdapterView<?> parent) {
|
}
|
});
|
}
|
|
class ViewHolder {
|
CheckBox checkBox;
|
Spinner spinner;
|
}
|
}
|
}
|