2013-08-05 1 views
0

В приложении Flex Mobile Я хотел бы иметь ButtonBar на дне, и мне нужно, чтобы изменить ярлыки его кнопки:Как изменить ярлыки в ButtonBar - простой тест и скриншот прилагается

enter image description here

(Я не хочу использовать TabbedViewNavigatorApplication здесь, потому что вся моя логика находится в одном представлении с ActionBar на вершине и ButtonBar внизу).

Итак, я подготовил очень простой тестовый пример, чтобы продемонстрировать свою проблему.

Пожалуйста, просто создайте «пустой» проект Flex в Flash Builder и поместите мои 2 файла (ниже) в него, и вы увидите мою проблему - касание кнопок внизу не меняет ярлык очень правых кнопка).

TestAC.mxml:

<?xml version="1.0" encoding="utf-8"?> 
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
       xmlns:s="library://ns.adobe.com/flex/spark" 
       applicationDPI="160"> 
    <fx:Script> 
     <![CDATA[ 
      import spark.events.IndexChangeEvent; 
      import spark.skins.mobile.TabbedViewNavigatorTabBarSkin; 

      private function handleTabs(event:IndexChangeEvent):void { 
       trace(_tabBar.selectedIndex); 
       _tabs[2].label = String(1 + _tabBar.selectedIndex); 
      } 
     ]]> 
    </fx:Script> 
    <fx:Declarations> 
     <s:MultiDPIBitmapSource id="CHAT" 
      source160dpi="@Embed('chat.png')" 
      source240dpi="@Embed('chat.png')" 
      source320dpi="@Embed('chat.png')" /> 

     <s:ArrayCollection id="_tabs"> 
      <fx:Object label="One" /> 
      <fx:Object label="Two" /> 
      <fx:Object label="Three" icon="{CHAT}" /> 
     </s:ArrayCollection> 
    </fx:Declarations> 

    <s:ButtonBar id="_tabBar" 
       requireSelection="true" 
       width="100%" 
       bottom="0" 
       skinClass="spark.skins.mobile.TabbedViewNavigatorTabBarSkin" 
       dataProvider="{_tabs}" 
       change="handleTabs(event)"> 
    </s:ButtonBar> 

</s:Application> 

chat.png:

enter image description here

ответ

0

Allright, добавив _tabs.refresh(); в handleTabs помог.