You are misunderstanding the invalidation process.  "invalidateProperties()"
does not call commitProperties, it just tells the framework that
commitProperties needs to be called.  The line after invalidateProperties
will be called immediately, commitproperties will be called at some later
time.

 

I haven't worked with multi select list a lot but I would set the
selectedIndices whenever the selection happens.  I suspect that the indices
have already been changed when the handler is called.

 

Tracy Spratt,

Lariat Services, development services available

  _____  

From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On
Behalf Of gwangdesign
Sent: Friday, March 13, 2009 12:58 PM
To: flexcoders@yahoogroups.com
Subject: [flexcoders] previously selected indices in List?

 

Hi,

This might be a simple one but I am having a hard time figuring it out: How
do I get the previous selectedIndices when a ListEvent.CHANGE event occurs
on a List control, "within" the Flex component framework?

Basically I'd like to change all the selected item renderers states on a
List control and I'd like to wrap this functionality into a subclass of
List. 

If I am not subclass List or ListBase, everything seems straightforward. But
if I extend List class, how do I capture this changes?

private function listChangeHandler(event:ListEvent):void
{
_bSelectedIndicesChanged = true;
invalidateProperties();
//this gets exectuted before commitProperties.
_prevSelectedIndices = selectedIndices.concat();
}

By the time commitProperties() gets called, _prevSelectedIndices =
selectedIndices.concat(); has already been executed.

What am I missing here? Are there any easy way to either get previously
selected index or previously selected indices on a List component?

Thanks.



Reply via email to