package com.basic.security.fragment; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; import com.basic.security.R; import com.basic.security.base.BaseFragment; import com.basic.security.manager.impl.cblite.BusinessListManager; import com.basic.security.model.ModelAdapter; import com.basic.security.utils.DateUtil; import com.basic.security.widget.ConfirmDialog; import org.androidannotations.annotations.AfterViews; import org.androidannotations.annotations.Click; import org.androidannotations.annotations.EFragment; import org.androidannotations.annotations.ViewById; import java.util.List; @EFragment(R.layout.fragment_rule_list) public class RuleListFragment extends BaseFragment { @ViewById Button rule_list_btn_add_rule; @ViewById ListView rule_list_lv_add_rule; private List businessList; private BusinessListAdapter adapter; private ConfirmDialog confirmDialog; @AfterViews public void init() { businessList = BusinessListManager.getBusinessList(); rule_list_lv_add_rule.addHeaderView(View.inflate(getContext(), R.layout.add_rule_head, null)); adapter = new BusinessListAdapter(); rule_list_lv_add_rule.setAdapter(adapter); } @Click void rule_list_btn_add_rule() { // 点击了新增规则按钮 mainActivity().showFragment((mainActivity()).fragment_rule_detail); mainActivity().fragment_rule_detail.setBusinessDetailDocument(null, true); } @Override public void show() { refreshList(); } public void refreshList() { businessList = BusinessListManager.getBusinessList(); adapter.notifyDataSetChanged(); } @Override public void hide() { if (mainActivity().currentFragment != mainActivity().fragment_rule_list) { if (confirmDialog != null) { confirmDialog.dismiss(); } } } private class BusinessListAdapter extends BaseAdapter { @Override public int getCount() { return businessList == null ? 0 : businessList.size(); } @Override public Object getItem(int position) { return businessList.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { View layout; ViewHolder viewHolder; if (convertView == null) { layout = View.inflate(getContext(), R.layout.add_rule_item, null); viewHolder = new ViewHolder();// 当前Item 的布局的子控件的引用的集合 viewHolder.name = layout.findViewById(R.id.add_rule_tv_name); viewHolder.time = layout.findViewById(R.id.add_rule_tv_time); viewHolder.delete = layout.findViewById(R.id.add_rule_iv_delete); viewHolder.manage = layout.findViewById(R.id.add_rule_iv_manage); viewHolder.edit = layout.findViewById(R.id.add_rule_iv_edit); layout.setTag(viewHolder);//把该布局的 子控件的引用 绑定到该布局上 } else { viewHolder = (ViewHolder) convertView.getTag(); layout = convertView; } final ModelAdapter businessDocument = businessList.get(position); viewHolder.name.setText(businessDocument.getString("business_name")); // 仅允许 if ("1".equals(businessDocument.getString("only_allow"))) { String start_time = DateUtil.formatTime(Long.parseLong(businessDocument.getString("only_allow_start")), "yyyy/MM/dd HH:mm"); String end_time = DateUtil.formatTime(Long.parseLong(businessDocument.getString("only_allow_end")), "yyyy/MM/dd HH:mm"); viewHolder.time.setText(start_time + " —" + "\n" + "— " + end_time); } else {// 从时间规则中选取的时间段 viewHolder.time.setText("————"); } viewHolder.edit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mainActivity().fragment_rule_detail.setBusinessDetailDocument(businessDocument, false); mainActivity().showFragment((mainActivity()).fragment_rule_detail); } }); viewHolder.delete.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { confirmDialog = new ConfirmDialog(mainActivity(), "确定要删除规则 " + businessDocument.getString("business_name") + " 吗?", "确认删除", "取消"); confirmDialog.show(); confirmDialog.setClickListener(new ConfirmDialog.ClickListenerInterface() { @Override public void doConfirm() { BusinessListManager.deleteBusiness(businessDocument); businessList.remove(position); adapter.notifyDataSetChanged(); confirmDialog.dismiss(); } @Override public void doCancel() { confirmDialog.dismiss(); } }); } }); viewHolder.manage.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mainActivity().fragment_business_person.BusinessPersonData(businessDocument); mainActivity().showFragment(mainActivity().fragment_business_person); } }); return layout; } class ViewHolder { private TextView name, time; private ImageView edit, delete, manage; } } /** // 以下为人员身份代码 @ViewById Button rule_list_btn_add_rule; @ViewById ListView rule_list_lv_add_rule; private List list; private MyAdapter adapter; private Map checkedRuleMap = new HashMap<>(); private ConfirmDialog confirmDialog; @AfterViews public void init() { list = RuleManager.getRuleList(); rule_list_lv_add_rule.addHeaderView(View.inflate(getContext(), R.layout.add_rule_head, null)); adapter = new MyAdapter(); rule_list_lv_add_rule.setAdapter(adapter); } @Click void rule_list_btn_add_rule() { // 点击了新增规则按钮 mainActivity().showFragment((mainActivity()).fragment_rule_detail); // ((RuleDetailFragment) mainActivity().fragment_rule_detail).setRuleDetailDocument(null); } @AfterViews public void afterViews() { } @Override public void show() { refreshList(); } public void refreshList() { list = RuleManager.getRuleList(); adapter.notifyDataSetChanged(); } @Override public void hide() { if (mainActivity().currentFragment != mainActivity().fragment_rule_list) { if (confirmDialog != null) { confirmDialog.dismiss(); } } } private class MyAdapter extends BaseAdapter { @Override public int getCount() { return list == null ? 0 : list.size(); } @Override public Object getItem(int i) { return null; } @Override public long getItemId(int i) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { View layout; ViewHolder viewHolder; if (convertView == null) { layout = View.inflate(getContext(), R.layout.add_rule_item, null); viewHolder = new ViewHolder();// 当前Item 的布局的子控件的引用的集合 viewHolder.name = (TextView) layout.findViewById(R.id.add_rule_tv_name); viewHolder.time = (TextView) layout.findViewById(R.id.add_rule_tv_time); viewHolder.delete = (ImageView) layout.findViewById(R.id.add_rule_iv_delete); viewHolder.edit = (ImageView) layout.findViewById(R.id.add_rule_iv_edit); viewHolder.manage = (ImageView) layout.findViewById(R.id.add_rule_iv_manage); layout.setTag(viewHolder);//把该布局的 子控件的引用 绑定到该布局上 } else { viewHolder = (ViewHolder) convertView.getTag(); layout = convertView; } checkedRuleMap.clear(); final ModelAdapter mutableDocument = list.get(position); viewHolder.name.setFaceDetailUI(mutableDocument.getString("name")); if (mutableDocument.getString("name").contains("黑名单") || mutableDocument.getString("name").contains("管理员")) { viewHolder.delete.setVisibility(View.GONE); } else { viewHolder.delete.setVisibility(View.VISIBLE); } // limit_time= "";// 1就是限制,0不限制 String limit_time = mutableDocument.getString("limit_time"); if (!TextUtils.isEmpty(limit_time) && limit_time.equals("1")) { String start_time = DateUtil.formatTime(Long.parseLong(mutableDocument.getString("begin_time")), "yyyy/MM/dd HH:mm"); String end_time = DateUtil.formatTime(Long.parseLong(mutableDocument.getString("end_time")), "yyyy/MM/dd HH:mm"); viewHolder.time.setFaceDetailUI(start_time + " —" + "\n" + "— " + end_time); } else { viewHolder.time.setFaceDetailUI("————"); } viewHolder.delete.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (mutableDocument.getId().equals(BaseSettingManager.getBaseSetting().getString("auto_register_identity_id"))) { ToastUtil.show("无法删除自助注册默认身份"); return; } confirmDialog = new ConfirmDialog(mainActivity(), "确定要删除规则 " + mutableDocument.getString("name") + " 吗?", "确认删除", "取消"); confirmDialog.show(); confirmDialog.setClickListener(new ConfirmDialog.ClickListenerInterface() { @Override public void doConfirm() { RuleManager.deleteRule(mutableDocument); list.remove(position); adapter.notifyDataSetChanged(); confirmDialog.dismiss(); } @Override public void doCancel() { confirmDialog.dismiss(); } }); } }); viewHolder.edit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mainActivity().showFragment((mainActivity()).fragment_rule_detail); // ((RuleDetailFragment) mainActivity().fragment_rule_detail).setRuleDetailDocument(mutableDocument); } }); viewHolder.manage.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mainActivity().showFragment(mainActivity().fragment_business_person); // mainActivity().showFragment(mainActivity().fragment_person_manage); // ((MenuFragment) mainActivity().fragment_menu).setSelectedMenuItemBackground( // ((MenuFragment) mainActivity().fragment_menu).person_manage // ); // checkedRuleMap.put(mutableDocument.getId(), mutableDocument); // ((FaceListFragment) mainActivity().fragment_face_list).findPersonList("已注册", checkedRuleMap); } }); return layout; } class ViewHolder { private TextView name, time; private ImageView edit, delete, manage; } } */ }