2010-04-23 4 views
0

httpservice에서 xml을 받기 위해 Flex 애플리케이션을 작성 중입니다. 그 이유는 정보로 DataGrid를 채울 수 있기 때문입니다. xml은 이미지 경로 이름을 보냅니다. 콤보 상자가 onChange라는 새로운 HttpService 호출을 보냅니다. 이렇게하면 데이터 격자가 다시 채워지고 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.Net 웹 사이트에서 캐싱을 방지했지만 동일한 이미지를 얻습니다. 이미지가 자동으로 폴더에로드되고 폴더에서 새로 고침되지만 응용 프로그램에서 새로 고칠 이미지를 가져올 수 없습니다. 나는 removeAllChildren()을 시도했다. 삭제 (adTile.getChildAt (0)); 둘 다 일하지 않았다.

답변

0

내가 사용하려고 할 것입니다 :

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

을 즉, 일 최종 예에 임의의 숫자를 추가하지 않는 경우

img.source = imageSource + i + ".jpg?" + Math.random(); 
+0

이들 중 어느 것도 동적으로 이미지를 새로 고칩니다. – Bridget

+0

오, Flex 어플리케이션에 이미지가 변경되었다는 것을 어떻게 알리는거야? Flex는 이미지가 변경되었는지 감시하지 않습니다. – quoo

+0

내가 변경된 사실을 알리지 않았다고 생각합니다. 새로 고침을 위해 필요한 작업입니다. 모든 참조를 제거하고 이미지를 삭제 한 다음 새 이미지를 만들려고합니다. Flex에게 알려줄 수있는 방법이 있습니까? – Bridget

0

는 ID = "IMG"를 추가하는 시도 해 봤나 mx : Image 태그에 직접 추가하고 adTile.addChild (img)를 제거합니다. 스크립트에서 ?

+0

나는 그것을 시도했다. 작동하지 않았습니다. – Bridget

+0

Tile 태그를 사용하는 목적은 무엇입니까? 이미지 하나 또는 이미지 묶음을 보여주고 싶습니까? – michael

+0

이미지 묶음. – Bridget

관련 문제