Android Swipe для изменения фрагментов не работает

Я пытаюсь создать приложение, в котором пользователь может пролистывать и изменять фрагмент, который он видит на экране. Я не могу использовать просмотр пейджера, потому что хочу, чтобы пользователь мог навсегда пролистывать разные фрагменты. Вот детектор в моем фрагменте:

 class MyGestureDetector extends SimpleOnGestureListener {
            @Override
            public boolean onDown(MotionEvent e) {
            return true;
        }
        @Override
        public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
                if(e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE & Math.abs(velocityX) > 10) {
                    left();
                }  else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE & Math.abs(velocityX) > 10) {
                    right();
                }

            return false;
        }
            @Override
            public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY){
                  if(e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE & distanceX > distanceY) {
                    left();
                  }  else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE & distanceX > distanceY) {
                      right();
                  }
                return false;
            }
    }
    public void right(){
        mCallback.dateNumber(true);
        sportView.setText("Loading");
    }public void left(){
        mCallback.dateNumber(false);
        sportView.setText("Loading");
    }

В моей деятельности вот слушатель, которого я добавил для изменения фрагментов:

                    @Override
            public void dateNumber(Boolean left_right) {
                //true == right
                //false == left
                if(left_right == false){
                    day = day + 1;
                    Fragment1 rightFragment = new Fragment1();
                    Bundle args = new Bundle();
                    args.putInt("day", day);
                    rightFragment.setArguments(args);

                    android.support.v4.app.FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
                    transaction.replace(R.id.fragment_container, rightFragment);
                    transaction.addToBackStack(null);
                    transaction.commit();
                }else if(left_right == true){
                    day = day - 1;
                    Fragment1 leftFragment = new Fragment1();
                    Bundle args = new Bundle();
                    args.putInt("day", day);
                    leftFragment.setArguments(args);

                    android.support.v4.app.FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
                    transaction.replace(R.id.fragment_container, leftFragment);
                    transaction.addToBackStack(null);
                    transaction.commit();
                }
                left_right = null;
            }

Я знаю, что жест смахивания всегда распознается, но иногда новый фрагмент не открывается. Кто-нибудь знает почему?

Ответы на вопрос(2)

Ваш ответ на вопрос