Re: [flexcoders] Preventing Spark List from scrolling to top when adding / removing items.

2011-08-07 Thread dorkie dork from dorktown
See if this will work,

// your code
var index:int = list.selectedIndex;
list.dataProvider.addItem(item);
list.validateNow();
moveToIndex(index);

protected function moveToIndex(index:int):void {
var point:Point =
list.layout.getScrollPositionDeltaToElement(index);
if (point) {
list.scroller.viewport.horizontalScrollPosition =
point.x;
}
}

let me know if it works for you


On Wed, Aug 3, 2011 at 2:27 PM, vigilsolace sig...@orianmarx.com wrote:

 **


 Any time I add or remove an item from a Spark list, the list resets itself
 to display the first element at the top. Is there a way to get the list to
 remember its current location? For example if I'm scrolled half way down a
 list and remove an item I would like the list to remain scrolled to where it
 was, rather than resetting.

 I'm currently listening for change events on the dataprovider and capturing
 the list layout's lastIndexInView, then using ensureIndexIsVisible to
 restore that index after the next display update. However, this still
 results in the list jumping around quite a bit. Is there a better solution?
 Shouldn't the list handle this by default?

  



[flexcoders] Preventing Spark List from scrolling to top when adding / removing items.

2011-08-03 Thread vigilsolace
Any time I add or remove an item from a Spark list, the list resets itself to 
display the first element at the top. Is there a way to get the list to 
remember its current location? For example if I'm scrolled half way down a list 
and remove an item I would like the list to remain scrolled to where it was, 
rather than resetting.

I'm currently listening for change events on the dataprovider and capturing the 
list layout's lastIndexInView, then using ensureIndexIsVisible to restore that 
index after the next display update. However, this still results in the list 
jumping around quite a bit. Is there a better solution? Shouldn't the list 
handle this by default?