Android: взгляд флиппера не переворачивается - PullRequest
0 голосов
/ 21 мая 2011

По сути, у меня есть ViewFlipper, который переворачивается, когда я провожу пальцем по нему.Вот код, который у меня есть в моей Деятельности:

public boolean onTouchEvent(MotionEvent touchevent) {
    switch (touchevent.getAction()) {
    case MotionEvent.ACTION_DOWN: {
        oldTouchValue = touchevent.getX();
        break;
    }
    case MotionEvent.ACTION_UP: {
        float currentX = touchevent.getX();
        if (oldTouchValue > currentX) {
            ViewHelper.swapFlipperNext(vf);//helper method for flipping
            setMyProgress();//helper method to set my progress bar
        }
        if (oldTouchValue < currentX) {
            ViewHelper.swapFlipperPrevious(vf);
            setMyProgress();
        }
        break;
    }
    }
    return false;
}

Он работает отлично, за исключением одной вещи, я могу перевернуть его, если мой палец находится в невидимой части экрана.Но если моя фигура проведет пальцем по некоторым представлениям (так как у меня есть текстовые и веб-просмотры на каждой странице флиппера), onTouchEvent не активируется, поэтому ViewFlipper не переключается, как я могу это исправить?Большое спасибо

1 Ответ

0 голосов
/ 21 мая 2011

попробуйте установить атрибут focusable в ваших текстовых представлениях и веб-просмотрах в false.по сути, я думаю, что они потребляют сенсорное событие.

РЕДАКТИРОВАТЬ: если это не сработает, попробуйте следующее

@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
    if (gestureDetector != null) {
        gestureDetector.onTouchEvent(ev);
    }
    return super.dispatchTouchEvent(ev);
}

, где gestDetector - переменная-член.

см. Здесь: EditText не захватывает сбои ViewFlipper?

...