我查看了对话框功能,并找到了一种方法来做你想做的事!API文档对此不是很清楚,我不得不尝试...
示例代码
在主窗口中:
//Example function to apply configuration
function applyConfig(configObject){
setSomething(configObject.field);
...
}
//Create a dialog, and give it the above function as an `onclose` callback:
var dialog=Ti.UI.showDialog({url:"app://config.html",onclose:applyConfig});
在config.html
:
//An example of an object that could hold your config data
var config={field:0,example:"hello",...};
//Function to call in order to pass that object back to the main window callback:
Ti.UI.getCurrentWindow().close(config);
解释
所以...在您的主窗口中,您创建一个对话窗口Ti.UI.showDialog
并传递一个回调(params.onclose
见上文)。在对话框窗口中,一旦用户通过html接口设置了他的配置选项,就可以将配置数据保存在一个对象中,并传递给窗口的close方法,然后传递给主窗口中的回调.
笔记
Ti.UI.showDialog
实际调用Ti.UI.createWindow
,并返回一个Ti.UI.UserWindow
对象,添加了一些与对话框的参数、结果和 onclose 回调相关的字段和方法。
使用或传递的对话框参数Ti.UI.showDialog({url:"...",parameters:{...}})
可以从对话框窗口内部访问。Ti.UI.getCurrentWindow().getDialogParameter("name")
Ti.UI.getCurrentWindow()._dialogParameters["name"]