我是Blackberry 10 dev的新手。所以我想知道最好的方法是什么,因为我没有从开发文档中得到任何明确的答案。
我想要的是从导航屏幕在我的应用中启动单独的视图。然后,新页面将创建一个http请求,并根据输出更新UI。
最好的方法似乎是使用NavigationPane并添加一个qml视图。但是,当它被推入堆栈时,如何调用C ++函数?类似于Fragments中的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(); }
}
答案 0 :(得分:3)
我认为onCreationCompleted函数可能正是您所需要的。
在secondpage.qml文件的Page对象中,添加:
Page {
id: secondpage
onCreationCompleted: {
// use Javascript to call the exposed C++ function
}
}
答案 1 :(得分:0)
如果你想要更多的东西是“onActivityCreated()”的精神,你可以使用信号transitionEnded:
NavigationPane {
onPushTransitionEnded{
top.callYourPageFunction();
}
}