SwipeRefreshLayout + ViewPager, ограничить только горизонтальную прокрутку?

Я реализовалSwipeRefreshLayout а такжеViewPager в моем приложении, но есть большая проблема: всякий раз, когда я собираюсь провести влево / вправо для переключения между страницами, прокрутка слишком чувствительна. Небольшое движение вниз вызоветSwipeRefreshLayout обновить тоже.

Я хочу установить предел, когда начинается горизонтальное перелистывание, а затем принудительное горизонтальное перелистывание, пока оно не закончится. Другими словами, я хочу отменить вертикальное перемещение, когда палец движется горизонтально.

Эта проблема возникает только наViewPager, если я проведу вниз иSwipeRefreshLayout активируется функция обновления (отображается полоса), а затем я двигаю пальцем по горизонтали, она по-прежнему допускает только вертикальные движения.

Я пытался продлитьViewPager класс, но он не работает вообще:

public class CustomViewPager extends ViewPager {

    public CustomViewPager(Context ctx, AttributeSet attrs) {
        super(ctx, attrs);
    }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
        boolean in = super.onInterceptTouchEvent(ev);
        if (in) {
            getParent().requestDisallowInterceptTouchEvent(true);
            this.requestDisallowInterceptTouchEvent(true);
        }
        return false;
    }

}

Макет xml:

<android.support.v4.widget.SwipeRefreshLayout
    android:id="@+id/viewTopic"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <com.myapp.listloader.foundation.CustomViewPager
        android:id="@+id/topicViewPager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
</android.support.v4.widget.SwipeRefreshLayout>

любая помощь будет оценена, спасибо

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

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