需求: 需要将某个UI上的几条输入项目存到SharedObject中, 每次Application关闭时进行存储, 开启Application时, 读取上次保存的值并set到ui上.
效果:
每次关闭前, 将会保存最后一次更改的数据; 每次开启前, 将读取上次保存的数据并set到ui上.
代码:
Application Event Listener: creationComplete=”onCreateComplete()” closing=”onClosing(event)”
/** 当Application初始化完毕后响应. */ protected function onCreateComplete(e:Event = null):void { // 在Application启动时, 从SharedObject中读取数据, 刷新UI. var adminConsoleSharedObject:SharedObject = SharedObject.getLocal("adminConsoleSharedObject", "/"); consoleUI.setInitVaules([adminConsoleSharedObject.data.baseUrl, adminConsoleSharedObject.data.userName, adminConsoleSharedObject.data.password]); } /** 当Application关闭时响应, 在每次关闭前, 将有关数据保存到SharedObject中. */ protected function onClosing(event:Event):void { var adminConsoleSharedObject:SharedObject = SharedObject.getLocal("adminConsoleSharedObject", "/"); adminConsoleSharedObject.data.baseUrl = consoleUI.getBaseUrl(); adminConsoleSharedObject.data.userName = consoleUI.getUserName(); adminConsoleSharedObject.data.password = consoleUI.getPassword(); adminConsoleSharedObject.flush(); }
目的: 使用正则表达式对数据进行校验
使用正则表达式的优点: 1. 可进行更为复杂的精确复杂的Validation; 2. 更重要的是, 在动态创建爱UI时, 可在xml, 数据库或其他持久性存储中存放对某一UI的正则表达式, 在创建后便可设定给有关ui.
如某UI只允许输入数字, 可监听FlexEvent.VALUE_COMMIT或Event.CHANG事件:
var regExp:RegExp = new RegExp("^[0-9]*$"); if(!regExp.test(getVauleFromUI())) { _errorMessage = RM.getString(BUNDLE_CONSOLE, "error.msg.regexp.wrong", [regExp.toString()]); }
效果:
设定一个组件的宽高, 且能随着外部容器变化而变化, 使用
explicitMinHeight: Number
布局过程中父级要考虑的组件最小建议高度。
Pasted from <http://livedocs.adobe.com/flex/3_cn/langref/mx/containers/VBox.html>
直接使用顶级方法:
encodeURI(uri:String):String
相关方法:
Boolean(expression:Object):Boolean
将 expression 参数转换为布尔值并返回该值。
Top Level
decodeURI(uri:String):String
将已编码的 URI 解码为字符串。
Top Level
decodeURIComponent(uri:String):String
将已编码的 URI 组件解码为字符串。
Top Level
encodeURI(uri:String):String
将字符串编码为有效的 URI(统一资源标识符)。
Top Level
encodeURIComponent(uri:String):String
将字符串编码为有效的 URI 组件。
Pasted from <http://livedocs.adobe.com/flex/3_cn/langref/package.html>
有时候需要监听TextInput的回车按下事件, 以直接进行某操作.
可使用FlexEvent.ENTER如:
_textKeywords.addEventListener(FlexEvent.ENTER, onTextKeyWordsEnterPressed);
// Proudly powered by Apache, PHP, MySQL, WordPress, Bootstrap, etc,.