ArrayCollection の本当の意味が分からなかったのかもしれませんが、まず最初にいくつかのコード
public var test1:AkwRep = new AkwRep(1,200,200,2,86,2010,2012,334342,"Typ","Standort","Testname","url","owner",true);
// Objekte in ein Array
public var akwArray:Array = new Array(15);
public function addAkw():void {
akwArray[0] = test1;
}
public var akwList:ArrayCollection = new ArrayCollection(akwArray);
(akw は Atomkraftwerk -> 原子力発電所を意味します;) )
だから私は akwRep-Objects の配列を持っています。データバインディングのために、私はそれをArrayCollectionに入れました。これまでのところ問題はありません。しかし今、私は次のようなことをしたい
<s:Label text={akwList.getItemAt(0).getAkwName()} />
getAkwName は文字列を返す AkwRep.as のメソッドです。しかし、これはうまくいきませんでした.ArrayCollectionを介してメソッドや属性にアクセスできません.
解決策はありますか?配列で試してみると、flexbuilder は akwArray[0] でデータバインディングを行うことができないと言います ...
編集:いくつかの新しいコード
これは<fx:script>
私のメインアプリのタグにあります
[Bindable]
// AKW-Objekte erstellen
public var test1:AkwRep = new AkwRep(1,200,200,2,86,2010,2012,334342,"Typ","Standort","Testname","url","owner",true);
[Bindable]
// Objekte in ein Array
public var akwArray:Array = new Array(15);
public function addAkw():void {
akwArray[0] = test1;
}
[Bindable]
public var akwList:ArrayCollection = new ArrayCollection(akwArray);
public function init():void{
trace(akwList.getItemAt(0));
}
これは私の AkwRep.as です
public class AkwRep
{
// Attribute
// some more attributes right here
public var typ:String;
public var standort:String;
private var akwName:String;
[Bindable]
public function get AkwName():String {
return this.akwName;
}
// Konstruktoren
public function AkwRep(id:Number, x:Number, y:Number, alter:Number, amNetz:Number, offOhneVerl:Number, offMitVerl:Number, leistung:Number, typ:String, standort:String, akwName:String, wikiurl:String, owner:String, moratorium:Boolean) [...]