마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Fragment에서 Tabhost를 구현 하였고, 제스쳐 구현중인데 막히네요 도움좀 주세요.

0 추천
package com.example.appfield.appfieldproject;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTabHost;
import android.util.Log;
import android.view.GestureDetector;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;


/**
 * Created by /// on 2015-05-28.
 */

public class BusFragment extends Fragment {
    private FragmentTabHost TabHost;

    public static BusFragment newInstance() {
        BusFragment fragment = new BusFragment();
        return fragment;
    }
    public BusFragment(){}
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }
    /*public View onCreateViewTabhost()
    {
        TabHost = new FragmentTabHost(getActivity());
        TabHost.setup(getActivity(), getChildFragmentManager(), R.id.real_container);
        TabHost.addTab(TabHost.newTabSpec("TAB1").setIndicator("삼척 순환"), BusSS.class, null);
        TabHost.addTab(TabHost.newTabSpec("TAB2").setIndicator("삼척 도계"), BusSD.class, null);

        return TabHost;
    }*/
  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
      if (container == null) {
          return null;
      }
      View v = inflater.inflate(R.layout.bus_fragment, container, false);
      final GestureDetector gesture = new GestureDetector(getActivity(),
              new GestureDetector.SimpleOnGestureListener() {
                  @Override
                  public boolean onDown(MotionEvent e) {
                      return true;
                  }

                  @Override
                  public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
                                         float velocityY) {
                      Log.i("####", "onFling has been called!");
                      final int SWIPE_MIN_DISTANCE = 120;
                      final int SWIPE_MAX_OFF_PATH = 250;
                      final int SWIPE_THRESHOLD_VELOCITY = 200;
                      try {
                          if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH)
                              return false;
                          if (e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE
                                  && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
                              Log.i("###", "Right to Left");
                          } else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE
                                  && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
                              Log.i("###", "Left to Right");
                          }
                      } catch (Exception e) {
                          // nothing
                      }
                      return super.onFling(e1, e2, velocityX, velocityY);
                  }
              });
      v.setOnTouchListener(new View.OnTouchListener() {
          @Override
          public boolean onTouch(View v, MotionEvent event) {
              return gesture.onTouchEvent(event);
          }
      });
      return v;
  }
}

우선은 onCreateView 에서 제스쳐 로그가 View 에만 먹히더라구요. 이걸 TabHost가 먹히게 바꿔야 하는데 도움좀 주시면 감사하겠스니다.

익명사용자 님이 2015년 6월 23일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...