[ https://issues.apache.org/jira/browse/FLEX-33169?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13557088#comment-13557088 ]
Maurice Amsellem edited comment on FLEX-33169 at 1/18/13 10:04 AM: ------------------------------------------------------------------- After spending some hours debugging live on the ipad, I finally manage to identify what I think is the cause of this bug. It's in List.removeMouseHandlersForDragStart var selectionChange:Boolean = (event.target == mouseDownObject || (mouseDownObject is DisplayObjectContainer && DisplayObjectContainer(mouseDownObject).contains(event.target as DisplayObject))); The test above is not correct. Steps to reproduce: Suppose that your custom item renderer displays two StyleableTextField side by side. * Press your finger exactly at the junction of the two items, slightly to the left, so that mouseDownObject will be the left item. * now move your finger a few pixels to the right (that's easier on retina devices), but less than 0.08 inches (Scroller.minSlopInches) then release it, so that event.target is now on the right item. * that's it: mouseDownObject is different from event.target, and it does not include it either (they are both contained by the itemRenderer). That explains why the issue seems to happen randomly BTW, you can simulate this bug on the emulator, that will help fixing, but it does not happen in real life, because the mouse is more accurate. IMO, the test should be that both items are included in the same item renderer, or something similar. Not sure how to implement this. was (Author: mamsellem): After spending some hours debugging live on the ipad, I finally manage to identify what I think is the cause of this bug. It's in List.removeMouseHandlersForDragStart var selectionChange:Boolean = (event.target == mouseDownObject || (mouseDownObject is DisplayObjectContainer && DisplayObjectContainer(mouseDownObject).contains(event.target as DisplayObject))); The test above is not correct. Steps to reproduce: Suppose that your custom item renderer displays two StyleableTextField side by side. * Press your finger exactly at the junction of the two items, slightly to the left, so that mouseDownObject will be the left item. * now move your finger a few pixels to the right (that's easier on retina devices), but less than 0.08 inches (Scroller.minSlopInches) then release it, so that event.target is now on the right item. * that's it: mouseDownObject is different from event.target, and it does not include it either (they are both contained by the itemRenderer). That explains why the issue seems to happen randomly BTW, you can simulate this bug on the emulator, that will help fixing, but it does not happen in real life, because the mouse is more accurate. IMO, the test should be that both items are included in the same item renderer, or something similar. Not sure how to implement this. Ah, and yes, > Spark List selection on mobile doesn't work properly > ---------------------------------------------------- > > Key: FLEX-33169 > URL: https://issues.apache.org/jira/browse/FLEX-33169 > Project: Apache Flex > Issue Type: Bug > Components: Spark: List > Affects Versions: Adobe Flex SDK 4.5.1 (Release), Adobe Flex SDK 4.6 > (Release) > Environment: iOS 5.x, Android 3.2/4.0, Air 3.0 - 3.3 > Reporter: Al Birdy > > The touch selection of list items on the actual device does not work properly. > Sometimes, even though the touch has definitely been recognized by the > device, the list selection change isn't committed, instead the previously > selected item remains selected. > To reproduce the issue, please set up a new Flex mobile project and add the > most basic list with inline renderer to a view: > <s:List id="myList" width="100%" height="100%"> > <s:dataProvider> > <s:ArrayCollection> > <fx:Object label="Item1" /> > ..... > <fx:Object label="Item30" /> > </s:ArrayCollection> > </s:dataProvider> > </s:List> > Deploy the app to an actual device (this bug does NOT appear in the > emulator!) and randomly try to select items, scroll the list, select again > and so on. You'll notice that the down color is sometimes set, but the > selection isn't changed. > For a more detailed description of this bug please see > http://stackoverflow.com/questions/11740074/selection-on-spark-mobile-list-only-works-3-out-of-4-times -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira