Я хочу создать собственный список искры, который на основе значения (называемого типа) в строке поставщика данных установит для этой строки средство визуализации условных позиций.Flex Mobile Spark List * условный * ItemRenderer
<s:List>
<s:dataProvider>
<s:ArrayCollection>
<s:source>
<fx:Object type="type1" label="type 1 item" />
<fx:Object type="type2" label="type 2 item" />
<fx:Object type="type3" label="type 3 item" />
<fx:Object type="type2" label="type 2 item" />
<fx:Object type="type4" label="type 4 item" />
</s:source>
</s:ArrayCollection>
</s:dataProvider>
</s:List>
Таким образом, по существу средство визуализации элементов для каждого типа строк будет отличаться.
Почему я хочу это сделать? Поскольку использование состояний в рендерере элементов для разных макетов не является надежным, оно попадает и промахивается при быстром прокрутке.
Я нашел этот код для списка ого:
public class MultipleRenderersList extends List
{
override public function createItemRenderer(data:Object):IListItemRenderer
{
if (data.type == 'type1')
{
return new Type1Component;
}
else if (data.label == 'type2')
{
return new Type2Component;
}
return null;
}
Но список искры не разоблачить «createItemRenderer» или даже что-нибудь подобное. Это, однако, имеет
override public function set itemRenderer(value:IFactory):void
Но у меня нет никакого способа доступа к DataProvider сделать условную часть проблемы.
Может ли кто-нибудь помочь?
Просто позвольте свой itemrenderer обрабатывать это сам. – BotMaster
@BotMaster, я не понимаю этого комментария, чего я пытаюсь достичь, когда DataProvider представляет элемент строки из _type1_, я хочу, чтобы инструмент визуализации элемента type1 (разные макеты, цвета и т. Д.), ** просто для этой строки * * То же самое для _type2_ и т. д. Я не могу использовать переключение состояний в пользовательском рендерере, потому что это действительно ненадежно. Если я не пропущу что-то очевидное, если да, пожалуйста, объясните далее :) Спасибо –
, если ваш пользовательский itemrenderer переопределяет данные, тогда вы можете заставить его принять решение об этих данных и как сделать сам. – BotMaster