首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flex resourceManager在一个文件中工作得很完美,而在另一个文件中却完全不工作。

Flex resourceManager在一个文件中工作得很完美,而在另一个文件中却完全不工作。
EN

Stack Overflow用户
提问于 2012-07-17 18:54:27
回答 1查看 2.2K关注 0票数 0

我试图在Flex中使用resourceManager进行一些本地化。我遇到了一个奇怪的问题,在我尝试过的第一个文件中,它运行得很好,但是在第二个文件中,它甚至不会编译。

两个文件都有

代码语言:javascript
复制
import mx.resources.ResourceBundle;

在最上面

代码语言:javascript
复制
[ResourceBundle("Hurley")]

在类定义之上。第一个程序编译良好,并在运行时正确地从资源中提取文本。

第二个文件(在同一个项目中,但位于不同的文件夹)不会编译,每次提到resourceManager都会出现"1120:访问未定义的属性resourceManager“的错误。

用于这两种不同用途:

在起作用的文件中:

代码语言:javascript
复制
public function SeasonsComboBox() {
    this.labelFunction = function(obj:Object):String {
        return resourceManager.getString('Hurley','Season_word') + " " + obj.number;
    };
}

而不起作用的文件:

代码语言:javascript
复制
public function getCarousels(seriesId:String, callback:Function):void {
    [...]
    ExternalInterface.addCallback("getCarouselsFailure", function():void {
            Alert.show(resourceManager.getString('Hurley','CarouselsFailure_text'), "Error", Alert.OK);
        });
    [...]
    }

我想不出我在这两个档案里做了什么不同的事。

编辑,解决:

resourceManager是在所有UIComponent子类中定义的。工作的文件导入了ComboBox。没有的文件。在这些文件中,我可以通过调用:

代码语言:javascript
复制
ResourceManager.getInstance()

这里有更多信息:US/FlashPlatform/reference/actionscript/3/mx/resources/IResourceManager.html

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-17 23:03:35

不能访问reourceManager属性的原因是它可能没有定义。

它是在UIComponent中定义的,所以任何扩展UIComponent的类都要定义它。但是,否则你必须自己定义它。

您可以这样做:

代码语言:javascript
复制
public var resourceManager:ResourceManager = ResourceManager.getInstance();
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11529002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档