У меня есть два связанных комбинированных списка (континенты и страны). Когда континенты ComboBox меняются, я запрашиваю XML с определенного URL. Когда я получаю этот XML, я изменяю DataProvider для стран ComboBox, например:
public function displayCountryArray( items:XMLList ):void
{
this.resellersCountryLoader.alpha = 0;
this.resellersCountry.dataProvider = items;
this.resellersCountry.dispatchEvent( new ListEvent( ListEvent.CHANGE ) );
}
Я отправляю ListEvent.CHANGE, потому что я использую его для изменения другого ComboBox, поэтому, пожалуйста, игнорируйте это (и 1-ю строку).
Итак, моя проблема заключается в следующем: я выбираю «АЗИЯ» на первых континентах, затем обновляется комбинированный список данных. Я нажимаю комбо, затем я вижу страны.
СЕЙЧАС, я выбираю «Африка», отображается первый элемент с закрытым ComboBox, затем, когда я щелкаю по нему, все еще остаются страны Азии. В любом случае, если я щелкну элемент в списке, то список обновится правильно, а также у него будет правильная информация (как я уже говорил, это влияет на другие комбинированные списки). Так что единственная проблема в том, что список отображения не обновляется.
В этой функции я попробовал эти подходы
Преобразование XMLList в XMLCollection и даже ArrayCollection
Добавление this.resellersCountry.invalidateDisplayList ();
Запуск событий, таких как DATA_CHANGE и UPDATE_COMPLETE
Я знаю, что они не имеют особого смысла, но я немного отчаялся.
Обратите внимание, что когда я использовал 3.0.0 SDK, этого не произошло.
Извините, если я глуп, но гибкие события убивают меня.