Oops, I'm wrong, I can't get position. Is there other ways to get position in a ListView using X and Y message in MotionEvent?
On 9月22日, 上午9時24分, Urakagi <[EMAIL PROTECTED]> wrote: > That sounds good, but I also have a problem for it. > > protected void onListItemClick(ListView l, View v, int position, long > id) > > I know ListView, View, and position, but how can I get id? > > On 9月20日, 上午5時37分, Teo Hong Siang <[EMAIL PROTECTED]> wrote: > > > Here's my suggestion: > > If your code indispatchTouchEventcan determine that the gesture is > > empty, then you can call onListItemClick() withindispatchTouchEvent. > > If the gesture is not empty, then do whatever you want to do. > > > On Sep 19, 2:45 am, Urakagi <[EMAIL PROTECTED]> wrote: > > > > Um, I want to usedispatchTouchEvent() to implement a gesture system, > > > so I have code like this: > > > > public booleandispatchTouchEvent(MotionEvent ev) { > > > boolean rtn = mGesture.onTouchEvent(ev); > > > > if (ev.getAction() == MotionEvent.ACTION_UP) { > > > Log.v("dispatch", "Gesture=" + > > > mGesture.getGestureString()); > > > if(mGesture.getGestureString().equals("")) { > > > return super.dispatchTouchEvent(ev); > > > } > > > } > > > > return rtn; > > > } > > > > which means, if the gesture is empty (indicates a click), I want to do > > > original things like onListItemClick(). > > > But calling super.dispatchTouchEvent(ev); will not trigger > > > onListItemClick(). So what I want to do is: > > > > If it's a simple click, call onListItemClick(). > > > Otherwise, calldispatchTouchEvent(). > > > > Thanks for replying. (Sorry for my poor English since I'm not a native > > > English speaker) > > > > On 9 $B7n (B19 $BF| (B, $B2<8a (B4 $B;~ (B02 $BJ, (B, hackbod <[EMAIL > > > PROTECTED]> wrote: > > > > > Well yes,dispatchTouchEvent() dispatching touch events through the > > > > view. If you do this: > > > > > @Override public booleandispatchTouchEvent(MotionEvent ev) { > > > > return super.dispatchTouchEvent(ev); > > > > > } > > > > > it will behave exactly the same as if you didn't override the method, > > > > so I'm not sure what you mean by it not working. > > > > > What are you trying to accomplish? > > > > > On Sep 19, 12:12 am, Urakagi <[EMAIL PROTECTED]> wrote: > > > > > > Hi, I have a class extending ListActivity, and I want to catch > > > > > touchevent on it so I overridedispatchTouchEvent. > > > > > > @Override > > > > > public booleandispatchTouchEvent(MotionEvent ev) { > > > > > ... > > > > > > } > > > > > > And since it's a ListActivity, of cource I want to override the > > > > > onListItemClick(), too: > > > > > @Override > > > > > protected void onListItemClick(ListView l, View v, int position, long > > > > > id) { > > > > > ... > > > > > > } > > > > > > But now I find that thedispatchTouchEvent() will intercept ALL touch > > > > > event on the activity, so onListItemClick() will never be called. > > > > > I tried > > > > > super.dispatchTouchEvent(ev); > > > > > but it does not work. > > > > > > Anyone has any idea for this? Thanks! --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com 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 -~----------~----~----~----~------~----~------~--~---