1

Blackberry 10 dev は初めてです。したがって、開発ドキュメントから明確な回答が得られないため、これを行う最善の方法は何だろうと思っています。

私が欲しいのは、ナビゲーション画面からアプリで別のビューを開始することです。新しいページは、http 要求を作成し、出力に基づいて UI を更新します。

最善の方法は、NavigationPane を使用して qml ビューを追加することです。しかし、スタックにプッシュされたときに C++ 関数を呼び出すにはどうすればよいでしょうか? フラグメントの Android onActivityCreated() に似たもの。Http サンプル ドキュメントがありますが、プログラムは継承された 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(); }
}
4

2 に答える 2

3

onCreationCompleted 関数が探しているものかもしれません。

secondpage.qml ファイルの Page オブジェクトに、これを追加します。

Page {
        id: secondpage

        onCreationCompleted: {
            // use Javascript to call the exposed C++ function
        }
    }
于 2013-02-11T01:43:11.813 に答える
0

「onActivityCreated()」の精神にもっと何かが必要な場合は、シグナル transitionEnded を使用できます。

    NavigationPane { 
         onPushTransitionEnded{
             top.callYourPageFunction();
        }
    }
于 2013-02-11T19:47:50.387 に答える