我试图弄清楚如何在我的Locale类和mxml文件之间正确设置绑定。
我的主要mxml文件包含:
<mx:Button id="TMP" label="{Locale.getLocaleString('title'}"/>
我想在按钮的标签中显示一个空字符串,直到加载语言环境文件。加载语言环境文件后,我想显示getLocaleString('title')
返回的内容。
我认为这就是Binding的用途,但我认为我接近错了。
I know that I am not allowed to bind on a function。那么我是否需要允许访问(使用get函数)到我的_dictionary
属性?为这样的东西设置Binding的标准方法是什么?
这是我目前的Locale
课程。
public class Locale {
private static var _dictionary:Dictionary = new Dictionary();
public static function loadResources():void {...}
public static function getLocaleString(featureID:String):String {
if(_dictionary[featureID]==null){
return "";
}
return _dictionary[featureID];
}
}
答案 0 :(得分:0)
这是我找到的解决方案:
这是我的最终代码:
[Bindable(event="loaded")]
public class LocaleSingleton extends EventDispatcher{
private var _dictionary:Dictionary = new Dictionary();
public function LocaleSingleton(){/* Do check to make sure it is a singleton*/}
public function get instance(){...}
public function loadResources():void {
...
dispatchEvent(new Event("loaded")); // Method in EventDispatcher
}
public function getLocaleString(featureID:String):String {
if(_dictionary[featureID]==null){
return "";
}
return _dictionary[featureID];
}
}