I think that onClick() is an Override event. I am not to familiar with your onFling but if its a user created class it will most likely remain dormant due to the the digitizer recognizing the onClick and not registering your onFling.
On Nov 23, 8:17 am, CB <[email protected]> wrote: > I have an Activity that implements a Gesture Detector to catch the > user fling input for navigation to other screens. That was working > fine - but - I recently updated a class that derives from my > BaseActivity to add an onClick function and now that click event seems > to block the onFling from being hit. The onClick is tied to a TextView > area (in a LinearLayout) I have on my screen. The resultsClick method > is wired to the TextView using its onClick property in the XML layout. > > I've tried changing the return values in onSingleTapUp and onDown > without luck. I've also tried adding log statements to all the > functions below as well. None of them fire when I fling in the > TextView area but they do on other areas of the screen. > > Maybe I am using the wrong search terms, but I couldn't seem to find > an example that addressed this - yet I'm sure this problem has been > solved before. > > public class DerivedActivity extends BaseActivity > { > ... > /** > * resultsClick - The user clicked on the Results area > * @param v > */ > public void resultsClick(View v) > { > try > { > Log.i(this.toString(), "resultsClick"); > startActivity(new Intent(this, Results_TabHost.class )); > } > catch (Exception e) > { > Log.e(this.toString(), "Exception" + e.toString()); > } > > }// end resultsClick > ... > > } > > Here is the base class that implements the GestureListener code > > public class BaseActivity extends ActivityGroup > implements OnGestureListener > { > ... > private static final int SWIPE_MIN_DISTANCE = 120; > private static final int SWIPE_MAX_OFF_PATH = 250; > private static final int SWIPE_THRESHOLD_VELOCITY = 200; > > public boolean onFling(MotionEvent e1, > MotionEvent e2, > float velocityX, > float velocityY) > { > try > { > Log.i(this.toString(), "onFling"); > > // jump right out if not a swipe/fling > if (Math.abs( e1.getY() - e2.getY() ) > SWIPE_MAX_OFF_PATH) > { > return false; > } > > // right to left swipe > if (e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE && > Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY ) > { > Log.i(this.toString(), "fling left"); > rightArrowClick(null); > > } > else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && > Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY ) > { > Log.i(this.toString(), "fling right"); > leftArrowClick(null); > } > } > catch (Exception e) > { > Log.e(this.toString(), "Exception" + e.toString()); > } > > return true; > > }// end onFling > > // These next methods we are required to have - even if unused - > // in order for the Gesture Handling to work > > �...@override > public boolean onTouchEvent(MotionEvent motionEvent) > { > if(this.gestureDetector.onTouchEvent(motionEvent)) > { > return true; > } > > //no gesture detected, let Activity handle touch event > return super.onTouchEvent(motionEvent); > } > > �...@override > public void onLongPress(MotionEvent e) > { > // Intentionally not handling - must be overridden by listener > class > } > > �...@override > public boolean onScroll(MotionEvent e1, MotionEvent e2, float > distanceX, float distanceY) > { > // Intentionally not handling - must be overridden by listener > class > // Intentionally returning true - per code examples > return true; > } > > �...@override > public void onShowPress(MotionEvent e) > { > // Intentionally not handling - must be overridden by listener > class > } > > �...@override > public boolean onSingleTapUp(MotionEvent e) > { > // Intentionally not handling - must be overridden by listener > class > // Intentionally returning true - per code examples > return true; > } > > �...@override > public boolean onDown(MotionEvent e) > { > // Intentionally not handling - must be overridden by listener > class > // Intentionally returning true - per code examples > return true; > } > ... > > > > } -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

