0

SQlite クエリからのデータに基づいて、さまざまな画像を読み込む必要がある Spark リストがあります。

SQLiteには、たとえばアイコン画像を表す値「1」、「2」、「3」などを含む「IconId」という列があります。

私のアイコン画像は、次のように「ImageResources」というクラスに埋め込まれています。

[Bindable]
public class ImageResources
{

[Embed(source="../assets/caticons/icon1.jpg")]
    public static var Ic1Cla:Class;

[Embed(source="../assets/caticons/icon2.jpg")]
    public static var Ic2Cla:Class;
}

次に、このようにリスト項目に使用するアイコンを設定するために使用するビットマップを持つ Spark List の itemrenderer があります。これは動作する静的な例です:

<s:BitmapImage source="{ImageResources.Ic1Cla}"   
         x="5" y="2">

</s:BitmapImage>

私の質問は..BitmapImageソースを、SQLiteデータからの数字、たとえば「1」を次のようなものに動的に連結できますか?

<s:BitmapImage source="{ImageResources.Ic[data.IconId]Cla}"   
         x="5" y="2">

</s:BitmapImage>

明らかにこれは機能しませんが、単純な構文の問題なのか、それともこの方法で実行できるのかはわかりません。

どんな助けでも大歓迎です。

4

1 に答える 1

0

次のような変数に動的にアクセスできます。

<s:BitmapImage source="{ImageResources['Ic' + data.IconId + 'Cla']}" />

状態システムを使用するなど、他のアプローチもあります。現在の状態をcurrentState = "image" + data.IconId;このように設定すると、次のように実装できます。

<s:states>
    <s:State name="image1" />
    <s:State name="image2" />
</s:states>

<s:BitmapImage source.image1="{ImageResources.Ic1Cla}"
               source.image2="{ImageResources.Ic2Cla}" />
于 2012-07-25T03:14:23.127 に答える