OK, there is definitely a bug in here somewhere. I took the code for PointerLocation and run it on my droid with NO modifications whatsoever.
When I perform the following pattern: 1) start drawing with finger 1 2) start drawing with finger 2 3) lift finger 1 4) start drawing with finger 1 again in a different location There is an error! It is clear to see, when you replace finger 1 back down and start drawing, it gets an incorrect result and connects finger 1 points with the last point drawn from finger 2. Go run it yourself and it will be plain as day. It errors consistently. Also, when you replace finger 1 back down, it will not be detected at all until a move action occurs, at which time it is then connected to finger 2. This illustrates exactly the problem I am describing in my above posts. I am running this on a Motorola Droid, so maybe it is a bug with the droid if not the software. If it helps, I can attach some screen-shots of the fault, but I figured it not necessary as it is very easy to run this code and the error will be very very obvious. Unless this gets fixed, I can not complete the program I am working on :( I need touch screen controls! Without this I cannot take over the world! -Colin On Jan 7, 11:15 am, Dianne Hackborn <[email protected]> wrote: > On Thu, Jan 7, 2010 at 7:37 AM, Mirmathrax <[email protected]> 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 > [email protected] > > 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 [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

