From 109ffe9a777658936a38d0c146579a67c60a0d17 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期四, 11 五月 2017 17:48:48 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/SelectDialog.java |  132 ++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 127 insertions(+), 5 deletions(-)

diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/SelectDialog.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/SelectDialog.java
index 712a315..b151048 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/SelectDialog.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/SelectDialog.java
@@ -1,25 +1,31 @@
 package cn.com.basic.face.dialog;
 
+import android.content.Context;
 import android.graphics.Color;
 import android.graphics.drawable.ColorDrawable;
 import android.view.Gravity;
 import android.view.LayoutInflater;
 import android.view.MotionEvent;
 import android.view.View;
+import android.view.ViewGroup;
 import android.widget.PopupWindow;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
+import android.widget.Toast;
 
 import com.bsk.zhangbo.demoforbsk.R;
-import cn.com.basic.face.adapter.MyWheelAdapter;
 import cn.com.basic.face.base.MainActivity;
+import cn.com.basic.face.discern.common.CommonVariables;
+import cn.com.basic.face.fragment.CheckInFragment;
+import cn.com.basic.face.service.DictionaryMng;
 import cn.com.basic.face.util.Constant;
 import cn.com.basic.face.util.OkClickedListener;
 
 import com.lidroid.xutils.ViewUtils;
 import com.lidroid.xutils.view.annotation.ViewInject;
 import com.lidroid.xutils.view.annotation.event.OnClick;
-import com.wx.wheelview.widget.WheelView;
+import cn.com.basic.face.dialog.wheelview.adapter.BaseWheelAdapter;
+import cn.com.basic.face.dialog.wheelview.widget.WheelView;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -27,16 +33,26 @@
 import cn.com.basic.face.discern.entity.Dictionary;
 
 public class SelectDialog extends PopupWindow {
+    private final View parentView;
     @ViewInject(R.id.dialog_select_title)
     private TextView dialog_select_title;
     @ViewInject(R.id.dialog_select_list_view)
     private WheelView dialog_select_list_view;
+    @ViewInject(R.id.dialog_select_add_separator)
+    private View dialog_select_add_separator;
+    @ViewInject(R.id.dialog_select_add)
+    private TextView dialog_select_add;
 
     private List list = new ArrayList();
 
     public static List visitorTypeList = new ArrayList();
     public static List genderList = new ArrayList();
     public static List idTypeList = new ArrayList();
+    public static List visitReasonList = new ArrayList();
+    private static List<String> resolutionList = new ArrayList();
+    private static List<String> protocolList = new ArrayList();
+    private static List<String> cameraBrandList = new ArrayList();
+    private int type;
 
     public static void setVisitorTypeList(List visitorTypeList) {
         SelectDialog.visitorTypeList = visitorTypeList;
@@ -50,7 +66,9 @@
         SelectDialog.idTypeList = idTypeList;
     }
 
-    public SelectDialog(View parentView, int type, OkClickedListener okButtonClickedListener) {
+    public SelectDialog(View parentView, int type, OkClickedListener okButtonClickedListener, String defaultValue) {
+        this.type = type;
+        this.parentView = parentView;
         View view = LayoutInflater.from(MainActivity.getInstance()).inflate(R.layout.dialog_select,null);
         ViewUtils.inject(this, view);
         setTitleAndList(type);
@@ -61,10 +79,30 @@
         style.textSize = 16;
         style.holoBorderColor = Color.parseColor("#11c3e3");
 
-        dialog_select_list_view.setWheelAdapter(new MyWheelAdapter(MainActivity.getInstance()));
+        if(type == Constant.DialogSelectType.VISIT_REASON
+                || type == Constant.DialogSelectType.PROTOCOL
+                || type == Constant.DialogSelectType.RESOLUTION
+                || type == Constant.DialogSelectType.CAMERA_BRAND
+                ) {
+            dialog_select_add_separator.setVisibility(View.VISIBLE);
+            dialog_select_add.setVisibility(View.VISIBLE);
+        }
+
+        dialog_select_list_view.setWheelAdapter(new WheelAdapter(MainActivity.getInstance()));
         dialog_select_list_view.setSkin(WheelView.Skin.Holo);
         if (list != null && list.size() > 0) {
             dialog_select_list_view.setWheelData(list);
+            Object itemObj = list.get(0);
+            if (itemObj instanceof String && defaultValue != null && !"".equals(defaultValue)) {
+                int selected = 0;
+                for (int i = 0; i < list.size(); i++) {
+                    if (defaultValue.equals(list.get(i))) {
+                        selected = i;
+                        break;
+                    }
+                }
+                dialog_select_list_view.setSelection(selected);
+            }
         }
         dialog_select_list_view.setWheelSize(5);
         dialog_select_list_view.setBackgroundResource(R.color.colorBackground);
@@ -147,11 +185,95 @@
                 tile = "璁垮绫诲瀷";
                 list = visitorTypeList;
                 break;
+            case Constant.DialogSelectType.VISIT_REASON:
+                tile = "璇烽�夋嫨璁块棶浜嬬敱";
+                list = visitReasonList;
+                break;
+            case Constant.DialogSelectType.RESOLUTION:
+                tile = "璇烽�夋嫨鍒嗚鲸鐜�";
+                list = resolutionList;
+                break;
+            case Constant.DialogSelectType.PROTOCOL:
+                tile = "璇烽�夋嫨閫氳";
+                list = protocolList;
+                break;
+            case Constant.DialogSelectType.CAMERA_BRAND:
+                tile = "璇烽�夋嫨鎽勫儚鏈哄搧鐗�";
+                list = cameraBrandList;
+                break;
         }
         dialog_select_title.setText(tile);
     }
 
-    public static void setVisitReason(List<String> dictionaryNameList) {
+    @OnClick(R.id.dialog_select_add)
+    public void dialog_select_add_click(View view) {
+        dismiss();
+        Toast.makeText(MainActivity.getInstance(), "娣诲姞", Toast.LENGTH_SHORT);
+        new AddDialog(parentView, type, new OkClickedListener() {
+            public void onSelected(String value) {
+                CheckInFragment.getInstance().setVisitReasonText(value);
+                switch (type) {
+                    case Constant.DialogSelectType.VISIT_REASON:
+                        CheckInFragment.getInstance().setVisitReasonText(value);
+                        break;
+                    case Constant.DialogSelectType.RESOLUTION:
+                        DictionaryMng.getInstance().addDictionary(Constant.DialogSelectType.RESOLUTION, CommonVariables.DictionaryType.RESOLUTION, value);
+                        break;
+                    case Constant.DialogSelectType.PROTOCOL:
+                        DictionaryMng.getInstance().addDictionary(Constant.DialogSelectType.PROTOCOL, CommonVariables.DictionaryType.PROTOCOL, value);
+                        break;
+                    case Constant.DialogSelectType.CAMERA_BRAND:
+                        DictionaryMng.getInstance().addDictionary(Constant.DialogSelectType.CAMERA_BRAND, CommonVariables.DictionaryType.CAMERA_BRAND, value);
+                        break;
+                }
+            }
+        });
+    }
+
+    public static void setVisitReasonList(List visitReasonList) {
+        SelectDialog.visitReasonList = visitReasonList;
+    }
+
+    public static void setResolutionList(List<String> resolutionList) {
+        SelectDialog.resolutionList = resolutionList;
+    }
+
+    public static void setProtocolList(List<String> protocolList) {
+        SelectDialog.protocolList = protocolList;
+    }
+
+    public static void setCameraBrandList(List<String> cameraBrandList) {
+        SelectDialog.cameraBrandList = cameraBrandList;
+    }
+
+
+    public static class WheelAdapter extends BaseWheelAdapter<String> {
+        private Context mContext;
+
+        public WheelAdapter(Context context) {
+            mContext = context;
+        }
+
+        @Override
+        protected View bindView(int position, View convertView, ViewGroup parent) {
+            ViewHolder viewHolder;
+            if (convertView == null) {
+                viewHolder = new ViewHolder();
+                convertView = LayoutInflater.from(mContext).inflate(R.layout.dialog_row, null);
+                viewHolder.textView = (TextView) convertView.findViewById(R.id.item_wheel_name);
+                convertView.setTag(viewHolder);
+            } else {
+                viewHolder = (ViewHolder) convertView.getTag();
+            }
+            viewHolder.textView.setText(mList.get(position)+"");
+            return convertView;
+        }
+
+        static class ViewHolder {
+            TextView textView;
+        }
 
     }
+
+
 }

--
Gitblit v1.8.0