当我更新这样的火花列表时:
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>
我无法弄清楚为什么它有时会显示所有内容然后再次显示第一行。
更新:它似乎以某种方式连接到使用TileLayout。当我删除布局时,它总是显示所有条目。
更新2:它似乎也只发生在我从数据提供者(空数组)中的任何项目转到n个项目时。如果已经显示了项目,并且数据提供者会使用更多或更少的项目进行更新。
答案 0 :(得分:1)
我有同样的问题。我刚刚使用了乐队援助。如果你这样做,它应该显示所有。
var myLayout:LayoutBase = gridView.layout;
gridView.layout = null;
gridView.layout = myLayout;
另一种选择是创建一个新的布局对象并在dataProvider之后设置它。
var newLayout = new TileLayout();
newLayout.rowHeight = 195;
newLayout.columnWidth = 242;
newLayout.requestedColumnCount = 4;
newLayout.horizontalGap = 0;
newLayout.verticalGap = 0;
gridView.dataProvider = newDataProvider;
gridView.layout = newLayout;