2013-04-06 2 views
0

Flex Mobile Project У меня есть приложение с вкладками с сервисом http. Я хотел бы загрузить данные, и как только он будет загружен, перейдите на первую вкладку, чтобы первая вкладка могла отображать список с некоторыми данными службы http . Я бы хотел использовать свойство firstViewData вкладки (as вероятно, на будущее я буду посылать различные данные на каждой вкладке)Flex mobile - данные с вкладками приложений http service

Я попытался следующие, но я не получаю никаких данных о представлении :-( на главном приложении

<?xml version="1.0" encoding="utf-8"?> 
<s:TabbedViewNavigatorApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
            xmlns:s="library://ns.adobe.com/flex/spark" 
            xmlns:wsdatos="services.wsdatos.*" 
            creationComplete="tabbedviewnavigatorapplication1_creationCompleteHandler(event)" 
            applicationDPI="160"> 
<fx:Script> 
    <![CDATA[ 
     import mx.collections.ArrayCollection; 
     import mx.events.FlexEvent; 
     import mx.rpc.events.ResultEvent; 

     public var WS:ArrayCollection; 


     protected function operation1():void 
     { 
      Operation1Result.token = wSDatos.Operation1(); 
     } 

     protected function tabbedviewnavigatorapplication1_creationCompleteHandler(event:FlexEvent):void 
     { 
      operation1(); 
     } 

     protected function wSDatos_resultHandler(event:ResultEvent):void 
     { 
      WS = event.result as ArrayCollection; 
     } 

    ]]> 
</fx:Script> 

<s:ViewNavigator label="Home" width="100%" height="100%" firstView="views.HomeView" firstViewData="{WS}"/> 
<s:ViewNavigator label="Publicidad" width="100%" height="100%" firstView="views.PublicidadView"/> 
<s:ViewNavigator label="Eventos" width="100%" height="100%" firstView="views.EventosView"/> 
<fx:Declarations> 
    <s:CallResponder id="Operation1Result"/> 
    <wsdatos:WSDatos id="wSDatos" result="wSDatos_resultHandler(event)"/> 
    <!-- Place non-visual elements (e.g., services, value objects) here --> 
</fx:Declarations> 
</s:TabbedViewNavigatorApplication> 

на домашней зрения

<?xml version="1.0" encoding="utf-8"?> 
    <s:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
     xmlns:s="library://ns.adobe.com/flex/spark" title="Home"> 
    <fx:Declarations> 
      <!-- Place non-visual elements (e.g., services, value objects) here --> 
     </fx:Declarations> 
     <s:List width="100%" height="100%" dataProvider="{data}" labelField="Nombre"/> 
    </s:View> 

Я просто новичок в Flex, поэтому, вероятно, мне не хватает базовых понятий ... Любая помощь в том, как передавать данные?

Образец ниже работает очень хорошо в приложении без вкладок, я просто использую navigator.pushView (views.HomeView event.result как ArrayCollection); по функции wSDatos_resultHandler (Нет необходимости использовать var WS) Так что я пытаюсь сделать что-то похожее на вкладке приложения Спасибо!

ответ

0

Одна вещь, которую вам нужно будет сделать, - пометить вашу переменную WS как [Вставить]. Без этого не будет отправлено уведомление при изменении данных.

Происходит создание представления и вывод данных из WS (изначально не указано); то HTTP-запрос заполняет возвращаемое значение WS, но поскольку он не помечен Bindable, представление не уведомляется об обновлении.

+0

Большое спасибо за помощь! –