1

itemRendererFunctionによって決定された複数のアイテムレンダラーを使用するListコンポーネントがあります。初めてデータを設定したときは、期待どおりに動作します。次に、新しいデータでデータを2回設定すると、itemRendererFunctionが呼び出されず、データと一致していなくても現在のレンダラーを再利用しようとします。スクロールすると、関数が呼び出され、正しいレンダラーが使用されます。データを設定する前にinvalidateDisplayListなどを呼び出してみましたが、問題は解決しませんでした。何か案は?

4

3 に答える 3

4

これはFlexSDKのバグであることがわかりました。Peter DeHaanは、回避策(dataProviderの設定後にitemRendererFunctionプロパティを再設定する)を提供し、SDKの将来のリリースのためにそれを提出しています。

于 2010-02-09T20:26:22.900 に答える
0

ここにいくつかのアイデアがあります:

invalidatePropertiesを試してください?ソースを見ると、私には予感があります。そうでない場合は、正しいメソッドが得られるまで、見つけることができるすべての無効化メソッドの呼び出しを開始するだけです。

もう1つの厄介な解決策は、現在のスクロール位置を(リストのスクローラーを介して)データプロバイダー(アイテムレンダラーを確実に再作成する)として新しい配列に渡さずに、スクロール位置を以前と同じに設定することです。更新します。

または、別のアイテムレンダラーの選択をアイテムレンダラー自体に抽象化することもできます。:/

于 2010-02-09T19:42:55.670 に答える
0

FWIW:Flexのバグへのリンクは次のとおりです: https ://bugs.adobe.com/jira/browse/SDK-32018

于 2012-02-06T23:16:24.967 に答える