Загрузка и установка сохраненного значения для меню в Flex

У меня есть простое всплывающее меню в flex, меню mx, и я использую Menu.initMenu для создания меню, опираясь на список XML, определенный как поставщик данных.

В меню есть элементы флажка, и каждый раз, когда я вызываю функцию load(values:Array) в классе, содержащем экземпляр меню, я хочу проверить соответствующие элементы.

Как динамически загружать значения и изменять выбор меню?


person mik    schedule 24.01.2012    source источник


Ответы (1)


Хорошо понял :

  1. установите меню и дайте КАЖДОМУ пункту меню атрибут метки:

    private var subMenuDataMain:XMLList = new XMLList(
        "<menuitem label='Title' icon='' enabled='false'/>" +
        "<menuitem label='' type='separator'/>" +
        "<menuitem label='SHOW_DEMO' type='check' eventName='SHOW_DEMO' />" +
        "<menuitem label='' type='separator'/>");
    
  2. создайте вспомогательную функцию для включения элементов меню для данной метки (если это двухуровневый элемент меню, укажите также subMenuID, который является именем метки второго элемента):

        function toggleMenuItem(menuID:String, subMenuID:String, toggle:Boolean):void
        {
            if (subMenuID != "")
                subMenuDataSets.(@label == menuID).menuitem.(@label == subMenuID).@toggled = toggle;
            else
                subMenuDataSets.(@label == menuID).@toggled = toggle;
        }
    
  3. реализовать функцию, которая инициализирует значения меню:

    public function setMenuOptions(obj:SampleObject):void {
        toggleMenuItem("SHOW_DEMO", "", (obj.demoISShown());
     }
    
person mik    schedule 29.01.2012