1

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

ありがとう!

4

0 に答える 0