Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.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
Java 将result.event强制转换为Flex中Person(Class)的ArrayCollection_Java_Apache Flex_Arraycollection_Resultevent - Fatal编程技术网

Java 将result.event强制转换为Flex中Person(Class)的ArrayCollection

Java 将result.event强制转换为Flex中Person(Class)的ArrayCollection,java,apache-flex,arraycollection,resultevent,Java,Apache Flex,Arraycollection,Resultevent,我对Flex环境有点陌生,我想知道如何实现这个场景: 我的初始代码如下所示: public function displayAllNames(event:ResultEvent):void { var result:ArrayCollection = new ArrayCollection(); result = event.result as ArrayCollection; if (result.length != 0){ listBox.data

我对Flex环境有点陌生,我想知道如何实现这个场景:

我的初始代码如下所示:

public function displayAllNames(event:ResultEvent):void {

    var result:ArrayCollection  = new ArrayCollection();

    result = event.result as ArrayCollection;

   if (result.length != 0){
       listBox.dataProvider = result;
   }
}
event.result是具有name属性的Person类的ArrayCollection

listBox是Flex中要显示名称的列表组件的id


当我试图运行代码时,列表框确实显示了一些东西。但它始终显示对象对象,而不是名称。似乎我还必须先处理event.result,这样它将成为Person类的ArrayCollection。

您需要设置组合框的labelField,请尝试此操作

假设Person具有可见的name属性

public class Person(){
   public var name:String = "User 1";
}
您可以通过使用
labelField
属性告诉列表框使用该属性填充其标签字段

if (result.length != 0){
   listBox.labelField = "name";
   listBox.dataProvider = result;
}
默认情况下,我相信设置为
“label”
,如果找不到该属性,它将使用
Object.toString()
,这就是
[Object Object]
的来源

因此,也可以在数据提供程序类中重写或仅包括
toString
方法,而不更改列表的
labelField

overide pubic function toString():String{
    return "this will become your label field";
}

您所说的listBox.labelField=“name”是什么意思;?它的作用是什么?它告诉列表框使用集合对象上的name属性作为标签文件谢谢。我试过了,但还是一样。它仍在列表框上显示[object object]。能否添加一些代码,包括object类以及如何将其添加到数组集合中。