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?