From f2434ad3287353fa0a939c25b6b9b495697b2a3e Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期六, 01 四月 2017 11:37:04 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/SelectDialog.java |   87 +++++++++++++++++++++++++++++++------------
 1 files changed, 62 insertions(+), 25 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 0fb07f1..712a315 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,8 +1,8 @@
 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;
@@ -12,7 +12,9 @@
 
 import com.bsk.zhangbo.demoforbsk.R;
 import cn.com.basic.face.adapter.MyWheelAdapter;
-import cn.com.basic.face.util.OkButtonClickedListener;
+import cn.com.basic.face.base.MainActivity;
+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;
@@ -25,22 +27,33 @@
 import cn.com.basic.face.discern.entity.Dictionary;
 
 public class SelectDialog extends PopupWindow {
-    private View view;
     @ViewInject(R.id.dialog_select_title)
     private TextView dialog_select_title;
-    private List mList;
     @ViewInject(R.id.dialog_select_list_view)
     private WheelView dialog_select_list_view;
-    public SelectDialog(Context context, List mList, String mTitle) {
-        view = LayoutInflater.from(context).inflate(R.layout.dialog_select,null);
+
+    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 void setVisitorTypeList(List visitorTypeList) {
+        SelectDialog.visitorTypeList = visitorTypeList;
+    }
+
+    public static void setGenderList(List genderList) {
+        SelectDialog.genderList = genderList;
+    }
+
+    public static void setIdTypeList(List idTypeList) {
+        SelectDialog.idTypeList = idTypeList;
+    }
+
+    public SelectDialog(View parentView, int type, OkClickedListener okButtonClickedListener) {
+        View view = LayoutInflater.from(MainActivity.getInstance()).inflate(R.layout.dialog_select,null);
         ViewUtils.inject(this, view);
-        this.mList = mList;
-        dialog_select_title = (TextView) view.findViewById(R.id.dialog_select_title);
-        if (mTitle !=null && mTitle.length() > 0){
-            dialog_select_title.setText(mTitle);
-        }else {
-            dialog_select_title.setText("鏍囬");
-        }
+        setTitleAndList(type);
         WheelView.WheelViewStyle style = new WheelView.WheelViewStyle();
         style.selectedTextColor = Color.parseColor("#11c3e3");
         style.textColor = Color.parseColor("#bcc6cf");
@@ -48,10 +61,10 @@
         style.textSize = 16;
         style.holoBorderColor = Color.parseColor("#11c3e3");
 
-        dialog_select_list_view.setWheelAdapter(new MyWheelAdapter(context));
+        dialog_select_list_view.setWheelAdapter(new MyWheelAdapter(MainActivity.getInstance()));
         dialog_select_list_view.setSkin(WheelView.Skin.Holo);
-        if (mList != null && mList.size() > 0) {
-            dialog_select_list_view.setWheelData(mList);
+        if (list != null && list.size() > 0) {
+            dialog_select_list_view.setWheelData(list);
         }
         dialog_select_list_view.setWheelSize(5);
         dialog_select_list_view.setBackgroundResource(R.color.colorBackground);
@@ -81,26 +94,28 @@
         });
 
         setOutsideTouchable(true);
-        this.setContentView(this.view);
+        this.setContentView(view);
         this.setHeight(RelativeLayout.LayoutParams.MATCH_PARENT);
         this.setWidth(RelativeLayout.LayoutParams.MATCH_PARENT);
         this.setFocusable(true);
         this.setBackgroundDrawable(new ColorDrawable(0x7f000000));
         this.setAnimationStyle(R.style.PopupAnimation);
+        okButtonClickedListeners.add(okButtonClickedListener);
+        this.showAtLocation(parentView, Gravity.CENTER,0,0);
     }
 
     @OnClick(R.id.dialog_select_ok)
     public void dialog_select_ok_click(View view) {
-        for (OkButtonClickedListener okButtonClickedListener : okButtonClickedListeners) {
+        for (OkClickedListener okButtonClickedListener : okButtonClickedListeners) {
             if (dialog_select_list_view.getCurrentPosition() >= 0) {
-                Object o = mList.get(dialog_select_list_view.getCurrentPosition());
-                String item = "";
+                Object o = list.get(dialog_select_list_view.getCurrentPosition());
+                String value = "";
                 if (o instanceof Dictionary) {
-                    item = ((Dictionary) o).getName();
+                    value = ((Dictionary) o).getName();
                 } else {
-                    item = o+"";
+                    value = o+"";
                 }
-                okButtonClickedListener.onItemSelected(dialog_select_list_view.getCurrentPosition(), o, item);
+                okButtonClickedListener.onSelected(value);
             }
         }
         dismiss();
@@ -111,10 +126,32 @@
         dismiss();
     }
 
-    private List<OkButtonClickedListener> okButtonClickedListeners = new ArrayList<OkButtonClickedListener>();
+    private List<OkClickedListener> okButtonClickedListeners = new ArrayList<OkClickedListener>();
 
-    public void addOkButtonClickedListener(OkButtonClickedListener okButtonClickedListener) {
+    public void addOkButtonClickedListener(OkClickedListener okButtonClickedListener) {
         this.okButtonClickedListeners.add(okButtonClickedListener);
     }
 
+    private void setTitleAndList(int type) {
+        String tile = "";
+        switch (type) {
+            case Constant.DialogSelectType.GENDER:
+                tile = "鎬у埆";
+                list = genderList;
+                break;
+            case Constant.DialogSelectType.ID_TYPE:
+                tile = "璇佷欢绫诲瀷";
+                list = idTypeList;
+                break;
+            case Constant.DialogSelectType.VISITOR_TYPE:
+                tile = "璁垮绫诲瀷";
+                list = visitorTypeList;
+                break;
+        }
+        dialog_select_title.setText(tile);
+    }
+
+    public static void setVisitReason(List<String> dictionaryNameList) {
+
+    }
 }

--
Gitblit v1.8.0