On Sun, Nov 15, 2009 at 11:57 PM, PJ <[email protected]> wrote: > However, one possibility is that PointerID=0 ceases to become a > "primary pointer" when 2+ fingers are touching the device. I don't > see that documented anywhere, but that's the only explanation I can > think of for your Motorola Droid's behavior. >
This isn't true. The purpose of the pointer IDs is so that you can determine which fingers are moving, so we don't change them when pointers go up and down. In fact, there isn't really a "primary" pointer -- there is the first pointer that went down, which is #0, but after that it all depends on what the user does. If finger A goes down, then finger B, then finger A is released, you will see pointer #0 going up and the following movements will have only pointer ID #1 (at index 0 because that is the only active pointer). When the next finger goes down, it is given the first available pointer ID (there is no way to know "which" finger this is, so we assume the first available), thus you see a new pointer ID 0 going down. At the point where the last pointer goes up, no matter what its ID, you get the generic ACTION_UP. You can find out which pointer ID this is if you want by looking at the ID assigned to the pointer data in the MotionEvent. -- 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

