title: Android Fragment onCreateView with Gestures
body: <p>I'm attempting to utilize Gestures within a fragment; I have the following inside of a FragmentActivity which handles my details fragment.  What I am attempting to have happen is when a swipe is detected on the view to replace the data inside of that view with the previous or next entry.</p>
  
  <p>If there is a better way of handling this; I am all for it.  However, what is happening here is that the onFling method is never actually called.</p>
  
  <pre><code>public static class DetailsFragment extends Fragment {
      @Override
      public View onCreateView(LayoutInflater inflater, ViewGroup container,
          Bundle savedInstanceState) {
          if (container == null) {
              return null;
          }
          View v = inflater.inflate(R.layout.my_view, null, false);
          final GestureDetector gesture = new GestureDetector(getActivity(),
              new GestureDetector.SimpleOnGestureListener() {
                  @Override
                  public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
                      float velocityY) {
  
                      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()) &gt; SWIPE_MAX_OFF_PATH)
                              return false;
                          if (e1.getX() - e2.getX() &gt; SWIPE_MIN_DISTANCE
                              &amp;&amp; Math.abs(velocityX) &gt; SWIPE_THRESHOLD_VELOCITY) {
                              Log.i(Constants.APP_TAG, "Right to Left");
                          } else if (e2.getX() - e1.getX() &gt; SWIPE_MIN_DISTANCE
                              &amp;&amp; Math.abs(velocityX) &gt; SWIPE_THRESHOLD_VELOCITY) {
                              Log.i(Constants.APP_TAG, "Left to Right");
                              titles.showDetails(getPosition() - 1);
                          }
                      } 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;
      }
  }
  </code></pre>