Только одна сторона ViewPager

У меня есть приложение ViewPager в моем приложении, и я хотел бы отключить / разрешить прокрутку вправо в любое время. Каждый вид в viewpager содержит ListView. Как я могу это сделать? Я пытаюсь сделать это следующим образом:

private int oldX; private int deltaX = 0; @Override public boolean onTouch(View view, MotionEvent motionEvent) { if (motionEvent.getAction() == MotionEvent.ACTION_MOVE || motionEvent.getAction() == MotionEvent.ACTION_DOWN) { int newX = (int) motionEvent.getX(); deltaX = oldX - newX; oldX = newX; } if (motionEvent.getAction() == MotionEvent.ACTION_UP) { oldX = 0; } return deltaX < 0; } 

Но взгляд по-прежнему идет к правой стороне немного. Кто-то решал ту же проблему?

Мне удалось добиться односторонней прокрутки в ViewPager, взяв его код в мое приложение и добавив следующие

 private boolean performDrag(float x) { boolean needsInvalidate = false; final float deltaX = mLastMotionX - x; mLastMotionX = x; // MY CODE STARTS if (deltaX < 0) { return false; } // MY CODE ENDS float oldScrollX = getScrollX(); ... 

Кажется, он работает нормально. Единственное, что вам может понадобиться – взять код адаптера или предоставить свой собственный адаптер, потому что некоторые методы, используемые ViewPager в его коде, не являются публичными из PagerAdapter .