From d5acf96e62637819d1cd55b516dd03e9232e3971 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期二, 28 三月 2017 17:11:20 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/widget/SingleSelectionPopup.java |   55 ++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 34 insertions(+), 21 deletions(-)

diff --git a/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/widget/SingleSelectionPopup.java b/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/widget/SingleSelectionPopup.java
index 55340ac..8af7c3a 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/widget/SingleSelectionPopup.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/widget/SingleSelectionPopup.java
@@ -19,6 +19,8 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import cn.com.basic.face.discern.entity.Dictionary;
+
 /**
  * Created by Sinoe on 2017/2/27.
  */
@@ -26,10 +28,10 @@
 public class SingleSelectionPopup extends PopupWindow implements View.OnClickListener,WheelView.OnWheelItemSelectedListener{
     private View view;
     private TextView mTvConfirm,mTvCancel,mTvTitle;
-    private List<String> mList;
+    private List mList;
     private WheelView mWheelView;
     private Context mContext;
-    public SingleSelectionPopup(Context context, List<String> mList,String mTitle) {
+    public SingleSelectionPopup(Context context, List mList,String mTitle) {
         this.mContext = context;
         view = LayoutInflater.from(context).inflate(R.layout.pop_single_selection,null);
         this.mList = mList;
@@ -47,7 +49,9 @@
         mTvConfirm.setOnClickListener(this);
         mWheelView.setWheelAdapter(new MyWheelAdapter(context));
         mWheelView.setSkin(WheelView.Skin.Holo);
-        mWheelView.setWheelData(mList);
+        if (mList != null && mList.size() > 0) {
+            mWheelView.setWheelData(mList);
+        }
         mWheelView.setWheelSize(5);
         mWheelView.setBackgroundResource(R.color.colorBackground);
         WheelView.WheelViewStyle style = new WheelView.WheelViewStyle();
@@ -64,23 +68,23 @@
         view.setOnTouchListener(new View.OnTouchListener() {
             @Override
             public boolean onTouch(View view, MotionEvent motionEvent) {
-                View popLayout = view.findViewById(R.id.pop_single_ll);
-                int top = popLayout.getTop();
-                int bottom = popLayout.getBottom();
-                int left = popLayout.getLeft();
-                int right = popLayout.getRight();
-                int y = (int) motionEvent.getY();
-                int x = (int) motionEvent.getX();
-                if (motionEvent.getAction() == MotionEvent.ACTION_UP){
-                    if (y<top || y> bottom){
-                        dismiss();
-                    }
-                    if (x < left || x > right){
-                        dismiss();
-                    }
-
+            View popLayout = view.findViewById(R.id.pop_single_ll);
+            int top = popLayout.getTop();
+            int bottom = popLayout.getBottom();
+            int left = popLayout.getLeft();
+            int right = popLayout.getRight();
+            int y = (int) motionEvent.getY();
+            int x = (int) motionEvent.getX();
+            if (motionEvent.getAction() == MotionEvent.ACTION_UP){
+                if (y<top || y> bottom){
+                    dismiss();
                 }
-                return true;
+                if (x < left || x > right){
+                    dismiss();
+                }
+
+            }
+            return true;
             }
         });
 
@@ -108,7 +112,16 @@
                 break;
             case R.id.pop_single_confirm:
                 for (OkButtonClickedListener okButtonClickedListener : okButtonClickedListeners) {
-                    okButtonClickedListener.onItemSelected(0, null, mList.get(mWheelView.getCurrentPosition()));
+                    if (mWheelView.getCurrentPosition() >= 0) {
+                        Object o = mList.get(mWheelView.getCurrentPosition());
+                        String item = "";
+                        if (o instanceof Dictionary) {
+                            item = ((Dictionary) o).getName();
+                        } else {
+                            item = o+"";
+                        }
+                        okButtonClickedListener.onItemSelected(mWheelView.getCurrentPosition(), o, item);
+                    }
                 }
                 dismiss();
                 break;
@@ -117,7 +130,7 @@
 
     @Override
     public void onItemSelected(int position, Object o) {
-        Toast.makeText(mContext,mList.get(position),Toast.LENGTH_SHORT).show();
+        //Toast.makeText(mContext,mList.get(position),Toast.LENGTH_SHORT).show();
     }
 
     private List<OkButtonClickedListener> okButtonClickedListeners = new ArrayList<OkButtonClickedListener>();

--
Gitblit v1.8.0