У меня странная проблема с itemRenderers внутри TileList.
Вот рабочий пример без itemRenderer: 152.org/flex/
Вот сломанная версия с itemRenderer: 152.org/brokenExample/
(у меня нет представителя, который бы связал их обоих)
В обоих примерах включен «Просмотр источника».
Чтобы увидеть проблему, используйте разбитый пример, выберите альбом и прокрутите вниз на одну строку. Прокрутите назад вверх, и изображения будут переключены. Если вы попробуете это на рабочем примере, это нормально.
Это, кажется, широко известная ошибка, но я не могу найти решение для нее.
UPDATE
Я снова начал играть с этим примером и узнал кое-что еще. Оказывается, вам не нужно переопределять установщик данных. Вы можете создать новый метод в itemRenderer, который устанавливается всякий раз, когда плитка хочет обновить. Так что хитрость заключается в том, чтобы не полагаться на методы initialize или creationComplete.
Это то, что у меня есть для itemRenderer в приложении.
<itemRenderers:ImageTile img="{data}"/>
Это код, который я имею в itemRenderer.
public function set img(value:String) : void {
trace("setting source: " + value);
this.source = value;
this.name = value.toString().split("/").pop().split(".").shift();
}
Я обновил свой пример , чтобы отразить это изменение.