基本的に、フリングをキャプチャしてタブを変更するカスタム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 がイベントを処理し、タブを変更しないことを検出するにはどうすればよいですか?
ありがとう!