0

httpserviceからxmlを受信するFlexアプリケーションを作成しています。データグリッドに情報を入力できるため、これは機能します。xmlは画像のパス名を送信します。コンボボックスは、新しいHttpService呼び出しonChangeを送信します。これにより、データグリッドが再作成され、flexがアクセスしているフォルダーに新しい画像が配置されます。

画像のパス名を変更せずに動的に画像を変更したい。

<mx:Canvas id="borderCanvas"><mx:Canvas id="dropCanvas">
  <mx:Tile id="adTile"><mx:Image></mx:Image>
  </mx:Tile></mx:Canvas></mx:Canvas>

これは私のコンポーネントです。次のコードを使用して画像ソースを割り当てます。

var i:Number = 0;
      while ( i <= dg_conads.rowCount){
        var img:Image = new Image();
        img.source = null;
        img.source = imageSource+i+".jpg";
        adTile.addChild(img);
        i++; }

私の最大の問題は、画像が更新されないことです。HTMLラッパーとASP.NetWebサイトからのキャッシュを阻止したにもかかわらず、同じ画像が表示されます。画像は自動的にフォルダに読み込まれ、フォルダ内で更新されますが、アプリケーションで画像を更新できません。removeAllChildren();を試しました。delete(adTile.getChildAt(0)); どちらも機能しませんでした。

4

2 に答える 2

0

id="img" を mx:Image タグに直接追加して、adTile.addChild(img); を削除しようとしましたか? スクリプトで?

于 2010-04-25T16:03:40.800 に答える
0

私は使用してみます:

img.load(imageSource + i + ".jpg");

それでもうまくいかない場合は、最後に乱数を追加してみてください。

img.source = imageSource + i + ".jpg?" + Math.random();
于 2010-04-23T18:53:48.037 に答える