xuxiuxi
2017-03-28 a70e10e49e43eaf82fc467b7a81bac7c3dfd5912
VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/widget/SingleSelectionPopup.java
@@ -49,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();
@@ -66,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;
            }
        });
@@ -110,14 +112,16 @@
                break;
            case R.id.pop_single_confirm:
                for (OkButtonClickedListener okButtonClickedListener : okButtonClickedListeners) {
                    Object o = mList.get(mWheelView.getCurrentPosition());
                    String item = "";
                    if (o instanceof Dictionary) {
                        item = ((Dictionary) o).getName();
                    } else {
                        item = o+"";
                    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);
                    }
                    okButtonClickedListener.onItemSelected(mWheelView.getCurrentPosition(), o, item);
                }
                dismiss();
                break;