Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 在我的mx:list控件中的任意两个列表项之间存在大量不需要的空间_Apache Flex_List_Listitem - Fatal编程技术网

Apache flex 在我的mx:list控件中的任意两个列表项之间存在大量不需要的空间

Apache flex 在我的mx:list控件中的任意两个列表项之间存在大量不需要的空间,apache-flex,list,listitem,Apache Flex,List,Listitem,我有一个列表控件,它使用数组集合作为数据提供程序。数组集合在actionscript中初始化。列表如下所示: <mx:List width="500" id="activeMessages" styleName="messages" variableRowHeight="true" verticalScrollPolicy="off" horizontalScrollPolicy="off" dataProvider="{activeMessageTitles}"/> .me

我有一个列表控件,它使用数组集合作为数据提供程序。数组集合在actionscript中初始化。列表如下所示:

<mx:List  width="500" id="activeMessages" styleName="messages" variableRowHeight="true" verticalScrollPolicy="off" horizontalScrollPolicy="off" 
 dataProvider="{activeMessageTitles}"/>
.messages{
            border-style:solid;
            corner-radius:4;
            border-color:#cccccc;
            padding:0 0 0 0;
            background-color:#DCDCDC;
            margin-bottom:400px;
            padding-bottom:120px;
        }
数组集合是动态加载数据的,并且已经过验证,因此它确实具有必需的数据。必需的数据只是随机的单词而不是句子,对于任何给定的数组,不超过两个单词

var activeMessageTitles:ArrayCollection = new ArrayCollection();
问题在于格式。dataProvider会检索所有项目,并在列表中呈现这些项目。唯一的问题是列表中任意两行项目之间的空间很大,并且会占用任意数量的空间。我希望列表项能够在另一个后面呈现,而不是在中间有大量的空间。


谁能具体说明这里到底出了什么问题

这个问题听起来像是虚拟化。列出回收项目渲染器,仅用于显示屏幕上可见的内容。当您滚动时,flex将获取刚刚离开视图的渲染器,并将其重新用于进入视图的渲染器。根据消息在回收的渲染器中的大小,它仍将保留较大的高度。。。即使插入的新消息很小

要解决此问题,请创建一个项目渲染器(大量教程)并重写其set data()方法,以便可以调整渲染器的大小以适应新内容

有关详细信息,请参阅此链接: