Обычно у меня есть пользовательский 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 обработал событие, а не изменить вкладку?
Спасибо!