когда я обновляя список искрового вроде этого:искры показывая неполные данные о DataProvider обновлении
searchView.gridView.dataProvider = new ArrayCollection(data);
я иногда получаю полные данные из массива «данные» отображается в списке, но иногда только первые четыре пункта. я проверил, и как массив, так и dataProvider после установки всегда имеют правильное количество записей.
здесь список кодов из MXML:
<s:List id="gridView" width="1024" height="390" itemRenderer="com.xxx.xxx.view.component.GridViewItemRenderer">
<s:layout>
<s:TileLayout rowHeight="195" columnWidth="242" requestedColumnCount="4" horizontalGap="0" verticalGap="0" />
</s:layout>
</s:List>
я не могу понять, почему он иногда показывает все, а затем снова показывает только первую строку.
UPDATE: похоже, что-то связано с использованием TileLayout. когда я удаляю макет, он всегда отображает все записи.
UPDATE 2: это также происходит, только когда я перехожу из элементов в dataprovider (пустой массив) в n элементов. если есть уже отображаемые элементы, и датапортщик получает обновление с более или менее элементами, он работает.
Как вы заполняете массив? Через удаленный сервис? – LoremIpsum
массив возвращается из службы oneton через вызов функции. массив встроен в вызов функции, но не имеет подключения к удаленной службе. это то, что устанавливает массив данных до установки поставщика данных. Кроме того, счетчик массива всегда корректен. – DasAntonym
попробуйте invalidatedisplaylist() после назначения dataprovider – Exhausted