1

プロパティファイルからキーと値のペアにアクセスする必要があります。正確には、キーと値のサブストリングですが、何も変更されないはずです。

このようなAdobeのドキュメントとヘルプページhttp://help.adobe.com/en_US/Flex/4.0/UsingSDK/WS2db454920e96a9e51e63e3d11c0bf69084-7f2c.html(最後の段落)を確認すると、AdobeがResourceBundleのコンテンツに言及していることがわかります。プロパティには、指定されたバンドルのキーと値のペアが含まれています。

ResourceBundleのASDocは、「サブクラスはこのメソッドをオーバーライドして、バンドルのリソースのキーと値のペアを含むオブジェクトを返します」とも述べています。ただし、ASDocは、このプロパティがFlex3に適用されるとも述べています。

とにかく、コンテンツプロパティ(タイプObject)は、キーではなく値のみを取得するため、キーと値のペアを格納していないようです。

私はここでちょっと迷っています、誰かがこれに関する情報を持っているなら、撃ってください!

4

1 に答える 1

1

ASDoc forにResourceBundleよると、このクラスとそのAPIはFlex 3以降で使用可能です。したがって、ドキュメントはFlex4以降でも有効です。

「foreach」ループではなく「forin」ループを使用していることを確認してください。「forin」ループはオブジェクトのプロパティ名を反復処理し、「foreach」は値を反復処理します。

このコードはを作成ResourceBundleし、プロパティを繰り返します。

var rb:ResourceBundle = new ResourceBundle("en_US", "bundleName");
rb.content["foo"] = "Bar";
rb.content["hello"] = "Howdy!";

for (var key:String in rb.content)
{
    trace("the key is: ", key);
    trace("the value is: ", rb.content[key]);
}

反復中、各キーはvarに格納され、そのkey値はを使用してコンテンツオブジェクトから取得できますcontent[key]

実際のアプリケーションでは、実際のリソースバンドルファイルを使用して、リソースマネージャーから(リンクしたドキュメントから)リソースバンドルを取得します。

var rb:ResourceBundle =  ResourceBundle(resourceManager.getResourceBundle("en_US", "RegistrationForm"))

そして、上記のようにコンテンツを繰り返すことができるはずです。

于 2012-04-26T15:24:32.867 に答える