in this case you have a problem with ArrayCollection. But usually ArrayCollection save all selected data in other controls such as Tree and DataGrid. Check that you don't change dataProvider manually.
If it's so you have minimum two variants:
1. listen collectionChange of your ArrayCollection and save selectedItem.item data. And in Series.updateComplete event handler find object in dataProvider and set selectedIndex to select the same object.
2. Create your own collection like ArrayCollection based on Array and handle all changes yourself: create event before changes to save data you need, change dataProvider and restore after updating - idea is the same.
Thanks for the reply sand helpful tips.
1) first problem: My ArrayCollection is not genrating a collection change event. Because I created the array collection by giving a source array. some where in the docs long time back ago I read, if you wrap up the array inside the array collection, then it is not caple of dispatching any events related to ICollection interface.
2) Since the dataprovider is a bindable property i had implemented a changewatcher to it. It never comes to the handler function.
If you change data in your array by direction access to your source - no event will be dispatching. You should change data using IList or ICollectionView interfaces.
If you know the moments then you change data you can manually dispatch events.