0

List最初は空にする必要があるを使用しています。ボタンをクリックして、必要に応じてアイテムを追加しています。空なので、dataProviderプロパティを追加していません

<s:List id="thelist" itemRenderer="listIR" />

アイテムを追加するには、dataProvider直接に追加します

thelist.dataProvider.addItem()

しかし、私がそれをするとき、それは私にこのエラーを与えます

 #1009: Cannot access a property or method of a null object reference.

Alertまた、 itemRenderer自体にデバッグがlistIRあり、リストが作成されると、最初はリストが空であるはずなのに、2つのitemRendererが作成されたかのようにアラートが2回表示されることがわかります。

このitemRendererの何が問題になっていますか?空のdataProviderから始めて、アイテムをスムーズに追加するにはどうすればよいですか?

4

2 に答える 2

1

リストのdataProviderはnullです。IListまたはICollectionViewインターフェースの空の実装を設定する必要があります。例:

<s:List id="thelist" itemRenderer="listIR" dataProvider="new ArrayCollection()"/>
于 2010-05-25T07:25:45.880 に答える
1

list.dataProvider が設定されていないため、この値は最初は null です。したがって、 null.addItem() は使用できません。

addItem(); を呼び出す前に、デバッグ時にインスタンス化された Array または ArrayCollection を dataProvider として表示する必要があります。

修正 1: << Daniel Engmann による説明 >>

修正2:

if(!thelist.dataProvider) thelist.dataProvider = new ArrayCollection();
thelist.dataProvider.addItem();
于 2010-05-25T07:50:26.727 に答える