1
我有一個List與他的ItemRenderer,好吧,當我發送數據到數據提供者,這個函數'設置數據'(覆蓋)輸入,我有那裏兩個圖像和一個標籤,當數據發送時,我檢查圖像是否有設置的源,如果這個項目有源,那麼我沒有設置源,以避免眨眼效果,但它不工作,爲什麼?在條件我檢查圖像的來源,這是空的。Flex項目渲染器 - 眨眼圖像
來源:
override public function set data(_data:Object) : void {
if (imgStatusMessage.source != _data.source) {
imgStatusMessage.source = _data.source;
}
}
...
<s:Image id="imgStatusMessage" width="15" height="15" visible="false"/>
然後,當產品 '重繪' 檢查這個元素的屬性,如果有_data的VaR值相同,則不要再次設置該值。
編輯: 如果發送更多數據,所有項目都工作正常,除了第一項;只有第一個項目在其中一個圖像中出現閃爍問題。
我看到的第一件事可能會給你帶來奇怪的結果,你並沒有調用超級...該方法的第1行應該讀取super.data = _data;第二,你應該總是檢查一個有效的值進來..所以第2行的方法應該總是閱讀if(_data){//做所有其他的東西}。第三個建議總是有最後一個else,它將渲染器中的所有內容都設置爲null(或者某個默認值),因爲渲染器被回收並且可能在渲染器中存在舊數據。試試這些,看看是否有人爲你解決問題。 –