Отображение списка строк пользовательского интерфейса (Adobe Flex / Actionscript) - PullRequest
1 голос
/ 30 марта 2011

Я делаю заявку на поиск человека.Я получаю результаты в виде строки (каждая строка представляет одного человека).Я хочу отобразить эти строки текста в списке, как мне это сделать?

<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" title="PersonSearchResults">
<fx:Script>
    <![CDATA[
        import model.PersonSummary;
        import mx.collections.ArrayCollection;

        public var listOfPeople:Array;  

        public function populate():void{
            trace("Populating");
            listOfPeople = String(data).split("\n");
        }

    ]]>
</fx:Script>
<fx:Declarations>
    <!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:List id="results">
    <s:ArrayList source="{listOfPeople}"/>
</s:List>

Проблема, с которой я столкнулся, состоит в том, что массив listOfPeople заполняется ПОСЛЕ того, как список отображается наэкран ... как мне решить эту проблему?

Спасибо, Фил

1 Ответ

3 голосов
/ 30 марта 2011

Вы не можете делать привязки с массивом. Вместо этого используйте ArrayCollection.

        [Bindable]
        public var listOfPeople:ArrayCollection;  

        public function populate():void{
            listOfPeople = new ArrayCollection(String(data).split("\n"));
        }

    ]]>
</fx:Script>
<fx:Declarations>
    <!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:List id="results" dataProvider="{listOfPeople}" />
...