I think you can make your own RemoveElement state and push it instead of RemoveChild.
On 4/12/12 3:40 PM, "DancesWtihElves" <ka...@hartleys.net> wrote: I have an actionscript component (a View) with a number of states defined in the following manner: var stateDefault:State = new State(); stateDefault.name = "DefaultState"; stateDefault.overrides = new Array();// array of IOverride states.push(stateDefault); stateDefault.overrides.push(new RemoveChild(btn_MatterPicker_Search)); When attempting to run the line currentState = "DefaultState"; the error below occurs. I'm hoping that someone has a simple solution to this - the only thing I can think of at the moment is to write my own state change handler that adds and removes the appropriate items from each state manually. Does anyone have a more elegant solution? (The code needs to remain as actionscript, can't switch to mxml.) Here's the error: Error: removeChild() is not available in this class. Instead, use removeElement() or modify the skin, if you have one. at spark.components::Group/removeChild()[E:\dev\4.y\frameworks\projects\spark\src\spark\components\Group.as:2136] at mx.states::RemoveChild/apply()[E:\dev\4.y\frameworks\projects\framework\src\mx\states\RemoveChild.as:150] at mx.core::UIComponent/applyState()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:10741] at mx.core::UIComponent/commitCurrentState()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:10487] at mx.core::UIComponent/setCurrentState()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:10323] at mx.core::UIComponent/set currentState()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:6425] at com.chromeriver.components.matter::MatterSearchBar/setDefaultState()...MatterSearchBar.as:288] -- Alex Harui Flex SDK Team Adobe Systems, Inc. http://blogs.adobe.com/aharui