Thank you Dianne,

>From the following code:

  if(numevents > 1)
                 ptrId = (action & MotionEvent.ACTION_POINTER_ID_MASK)
 
MotionEvent.ACTION_POINTER_ID_SHIFT;

              action = action & MotionEvent.ACTION_MASK;

              int ptrIndex = event.findPointerIndex(ptrId);

              float X = event.getX(ptrIndex);
              float Y = event.getY(ptrIndex);

I thought that when multiple fingers are down,  the X and Y returned
from the above code would be the ones associated with the event that
was generated, but I am getting the X and Y associated with the other
finger from the above code.

I will take a good thorough look at the pointerLocation sample and if
I still have problems, I will post more detail with all the points I
can find!


Thanks!

-Colin

On Jan 7, 11:15 am, Dianne Hackborn <hack...@android.com> wrote:
> On Thu, Jan 7, 2010 at 7:37 AM, Mirmathrax <mirmath...@gmail.com> wrote:
> > 4) Finger 1 goes back down at location X, Y
> >     X = X2
> >     Y = Y2
> >     action = ACTION_POINTER_DOWN
> >     ptrID = 0
> >     ptrIndex = 0
> >     numEvents = 2
>
> > ****** Here is the first problem:   The X and Y coordinates returned
> > are incorrect, they are the coordinates for the other finger (finger
> > 2).  When finger 1 was removed, finger 2's data moved to the 0 index,
> > but it still retained ID 1.  When finger 1 went back down, it
> > correctly was identified as ID 0, but instead of adding a new index
> > for finger 1 data, it just returns index 0, which is finger 2's
> > data!
>
> You are only listing one coordinate for this event, but in fact there are
> two for both fingers.  It is really hard to understand what you are seeing
> when you are not showing all of the data in the event.
>
> > 5) Lift Finger 1 back up again from location X, Y
> >     X = X2
> >     Y= Y2
> >     action = ACTION_POINTER_UP
> >     ptrIndex = 1
> >     ptrID = 1
> >     numEvents = 2
>
> > *** WHATWHAT?!?  I lifted finger 1 up, which should be ID 0,  why is
> > ID 1 reporting that it goes up.  Also, why is it given data index 1,
> > which I would assume should be finger 1's data, but the coordinates
> > are still those of finger 2.  Yes, I have a headache too...
>
> Again, when the up occurs, the motion event contains the points for the
> finger going up as well as any other fingers that are currently down.
>
> I am not going to respond in detail to the remaining stuff, because I can't
> really understand what you are seeing due to not showing all of the data.  I
> would also again please ask that you look at Pointer Location -- you should
>  see when using it that the correct data is actually generated, and you can
> look at the code to see how the different event transitions are processed.
>
> --
> Dianne Hackborn
> Android framework engineer
> hack...@android.com
>
> Note: please don't send private questions to me, as I don't have time to
> provide private support, and so won't reply to such e-mails.  All such
> questions should be posted on public forums, where I and others can see and
> answer them.
-- 
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
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to