这是问题......我正在开发一个弹性应用程序(actionscript)......
我的应用程序中有一个面板,它在某些位置包含 2 个按钮和 3 个画布组件……现在我想将面板的当前状态存储在某个文件或数据库中……然后我想再次加载同一个面板当我回来运行应用程序时我的应用程序...
所以我尝试使用它的 readObject() 和 writeObject() 方法将整个面板转换为 ByteArray 对象......但是当我读取 ByteArray 并使用 addChild() 方法在我的应用程序中添加面板时,它没有添加任何东西并且有没有错误或错误...
writeObject 创建我可以打印的 ByteArray 但是当我取回它并添加孩子时,我无法获取面板并且它是孩子......
如果有人可以提供帮助...将不胜感激...在此先感谢...
这是示例代码...解释我想要做什么...
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.rpc.events.ResultEvent;
import mx.collections.ArrayCollection;
[Bindable] private var photoFeed:ArrayCollection;
var buffer:ByteArray;
private function init():void{
addEventListener(KeyboardEvent.KEY_DOWN, keyHandler);
searchTerms.setFocus();
buffer = new ByteArray();
}
private function keyHandler(event:KeyboardEvent):void{
if(event.charCode == 13){
myButton.label = "Exit";
try{
buffer.writeObject(myData);
}catch(error:Error){
Alert.show(error.toString(),"Encoding Error");
}
removeChild(myData);
reloadButton.visible = true;
Alert.show("HBox is deleted","Alert");
}
}
private function reloadHBox():void{
Alert.show("Trying to load Hbox","Alert");
try{
buffer.position = 0;
var obj:HBox = buffer.readObject() as HBox;
}catch(error:Error){
Alert.show(error.toString(),"Decoding Error");
}
addChild(obj);
Alert.show("Hbox is reloaded","Alert");
}
]]>
</mx:Script>
<mx:Button id="reloadButton" label="Reload HBox" visible="false" click="reloadHBox()"/>
<mx:HBox width="100%" id="myData">
<mx:Label text="Hi Rashmin here..."/>
<mx:TextInput id="searchTerms" name="searchTerms" text="Hello How are you?"/>
<mx:Button id="myButton" label="Enter"/>
</mx:HBox>
我想重新生成 HBox,所以需要一些帮助......