間違ったアイテムレンダラーを再利用スパーク一覧
-
19-09-2019 - |
質問
IはitemRendererFunctionによって決定される複数のアイテムレンダラーを使用してリスト要素を有します。私は、データを最初に設定した場合、予想通り、それは動作します。私はデータを新しいデータで二時間を設定するときに、それはitemRendererFunctionを呼び出し、彼らがデータと一致していないにもかかわらず、現在のレンダラーを再利用しようとしません。私はスクロールすると、関数が呼び出され、正しいレンダラーが使用されています。私は、データを設定する前でinvalidateDisplayListと、このような呼び出しを試みたが、それは問題を解決しませんでした。任意のアイデア?
解決
これはこれは、Flex SDKのバグです判明します。ピーターDeHaanは、回避策を提供してくれまし(dataProviderに設定された後itemRendererFunctionプロパティを再設定)とSDKの今後のリリースのためにそれを提出されます。
他のヒント
ここではいくつかのアイデアがあります:
invalidateProperties void次にしてみてください?私はそれができる予感を持っているソースを見るとそうでない場合は、おそらくあなたが正しいものを得るまであなたが見つけることができるすべての無効化メソッドを呼び出しを開始、ということ。
別のみかんハックソリューションは、それと同じにスクロール位置を設定する(間違いなくアイテムレンダラーを再作成されます)データプロバイダとして新しい配列を渡す(リスト上のスクローラーを経由して)いない現在のスクロール位置の取るかもしれませんリフレッシュの前だった。
それとも、アイテムレンダラー自体に異なるアイテムレンダラーの選択アウト抽象でした。 :/
FWIW:ここでのFlexのバグへのリンクがあります: https://bugs.adobe.com/jira/browse/SDK-32018する