2013-02-10 125 views
1

我是黑莓10開發新手。所以我想知道做什麼最好的方法是什麼,因爲我沒有從開發文檔得到任何明確的答案。無論如何,當添加到NavigationPane時,在qml中有一個onLoad函數?

我想要的是在我的應用程序中從導航屏幕開始單獨的視圖。然後新頁面將創建一個http請求並根據輸出更新UI。

最好的方式似乎是使用NavigationPane並添加一個qml視圖。但是,如何在被推入堆棧時調用C++函數?類似於Fragments中的android onActivityCreated()。有Http示例docs,但程序從繼承的QObject的構造函數啓動了http請求。 如何我已經爲新的QML執行的功能被添加到導航堆棧

// navigationpane.qml 

NavigationPane { 
    id: navigationPane 
    Page { 
     Container { 
      Label { 
       text: "First page" 
      } 
     } 

     actions: [ 
      ActionItem { 
       title: "Next page" 
       ActionBar.placement: ActionBarPlacement.OnBar 
       onTriggered: { 
        var page = pageDefinition.createObject(); 
        navigationPane.push(page); 
       } 

       attachedObjects: ComponentDefinition { 
        id: pageDefinition; 
        source: "secondpage.qml" 
       } 
      } 
     ] 
    } 
    onPopTransitionEnded: { page.destroy(); } 
} 

回答

3

我覺得onCreationCompleted功能可能是你在找什麼。

在你secondpage.qml文件的Page對象,補充一點:

0

如果你想要更多的東西 「onActivityCreated()」 的精神,你可以使用信號transitionEnded:

NavigationPane { 
     onPushTransitionEnded{ 
      top.callYourPageFunction(); 
     } 
    } 
相關問題