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가 먹히게 바꿔야 하는데 도움좀 주시면 감사하겠스니다.