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