Обработка нескольких детекторов движения на Android - PullRequest
1 голос
/ 20 октября 2011

Обычно у меня есть пользовательский TabHost, который использует dispatchTouchEvent для захвата бросков и смены вкладок.

Проблема в том, что теперь у меня есть вкладка с ViewPager внутри нее.

Что происходит, так это то, что TabHost захватывает сброс с ViewPager и меняет вкладку.

Я попытался обойти проверку, что super.dispatchTouchEvent обработал событие касания,но, очевидно, этот супер-вызов ВСЕГДА возвращает true.

Вот код, который я пытался использовать в своем TabHost:

    @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
        boolean handled = super.dispatchTouchEvent(ev);
        if(!handled) // This is always true... why?
            return mGestureDetector.onTouchEvent(ev);
        return handled;
    }

Есть ли обходной путь, чтобы сделать эту работу?

Как я могу определить, что ViewPager обработал событие, а не изменить вкладку?

Спасибо!

...