我希望能够向用户显示错误消息(甚至可能是成功消息!)。然而,这将是一个异步事件 - 因此用户可能在发送事件和响应之间跳转到另一个页面。
鉴于这种情况,并且我在初始 app.xml 中使用选项卡组作为“基础”,我打算如何访问当前窗口?Ti.UI.getCurrentWindow() 在我的系统上没有做任何事情 - 没有错误,没有什么。
我正在使用 Titanium 3 api。
我希望能够向用户显示错误消息(甚至可能是成功消息!)。然而,这将是一个异步事件 - 因此用户可能在发送事件和响应之间跳转到另一个页面。
鉴于这种情况,并且我在初始 app.xml 中使用选项卡组作为“基础”,我打算如何访问当前窗口?Ti.UI.getCurrentWindow() 在我的系统上没有做任何事情 - 没有错误,没有什么。
我正在使用 Titanium 3 api。
由于您使用选项卡组,您可以使用Titanium.UI.currentTab
. 然后你可以像这样得到标签的窗口:
var theWindow = Titanium.UI.currentTab.window;
具体的文档参考(以防万一)。
此外,您始终可以使用Titanium.UI.AlertDialog
,无论您打开哪个窗口,只要它满足您的要求,它都会显示出来。
是的,您可以使用 Ti.UI.currentTab.window()。并且因为这是函数所以使用“()”,否则它不会给出正确的输出
获取当前窗口使用 Ti.UI.getCurrentWindow 而不是 Ti.UI.getCurrentWindow()
Ti.UI.currentWindow 仅在已经打开一个窗口时才有效。您遇到的错误来自创建 MasterView 时尚未打开窗口的事实。
查看 ApplicationWindow.js 内部,您会看到您甚至在打开窗口之前就创建了主视图。
如果要设置导航栏项,可以将它们添加到 ApplicationWindow、app.js 中,或者将窗口传递给 MasterView。
currentTab 仅在您的应用使用选项卡时才有效。
currentWindow 和 getCurrentWindow() 仅在使用 Ti.UI.createWindow 方法的 url 属性打开窗口时才有效。
如果您处于任何其他情况,当前窗口似乎不可用。