ViewPager可以解决onClick事件

时间:2012-11-19 08:29:49

标签: android events android-viewpager

我有ViewPager作为ListView标题,现在每件事情都运作良好,我接下来要做的是让用户有资格在{{1}的页面之间移动},并且能够点击页面,以便我可以触发新的ViewPager。我在Activity上尝试setOnClickListener,但是当我想在页面之间移动时它会被触发。任何解决这个问题的工作???

编辑:我不想在ViewPager的任何视图中ViewPager。比如setOnClickListener

1 个答案:

答案 0 :(得分:0)

您需要在视图寻呼机onClickListener中将adapter设置为视图(可能是按钮)并处理适配器中的点击。

修改
你可以更好地使用ViewFlipper来实现这种功能。

private static final int SWIPE_MIN_DISTANCE = 120;
    private static final int SWIPE_MAX_OFF_PATH = 250;
    private static final int SWIPE_THRESHOLD_VELOCITY = 200;

class MyGestureDetector extends SimpleOnGestureListener {
        @Override
        public boolean onSingleTapConfirmed(MotionEvent arg0) {
            //Single Tap
            return false;
        };

        public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
                float velocityY) {
            try {
                if (Math.abs(e1.getY() - e2.getY()) > REL_SWIPE_MAX_OFF_PATH)
                    return false;

                if (e1.getX() - e2.getX() > REL_SWIPE_MIN_DISTANCE
                        && Math.abs(velocityX) > REL_SWIPE_THRESHOLD_VELOCITY) {
                    ViewFlipper vf = (ViewFlipper) findViewById(R.id.flipper);
                    vf.setInAnimation(pushRightIn);
                    vf.setOutAnimation(pushLeftOut);
                    // right to left swipe
                }

                else if (e2.getX() - e1.getX() > REL_SWIPE_MIN_DISTANCE
                        && Math.abs(velocityX) > REL_SWIPE_THRESHOLD_VELOCITY) {
                    ViewFlipper vf = (ViewFlipper) findViewById(R.id.flipper);
                    vf.setInAnimation(pushLeftIn);
                    vf.setOutAnimation(pushRightOut);
                    // left to right swipe
                }
            } catch (Exception e) {
            }
            return false;
        }
    }