我正在将恢复事件附加到应用程序,并且我想检测当前聚焦的窗口
Ti.App.addEventListener('resume', function(e) {
// what window is focused? visible?
});
我正在将恢复事件附加到应用程序,并且我想检测当前聚焦的窗口
Ti.App.addEventListener('resume', function(e) {
// what window is focused? visible?
});
您可以尝试 Ti.UI.currentWindow - 但过去我的结果好坏参半。
最基本的选项是在你的 app.js 中创建一个全局变量来存储窗口,所以继续,只需检查一下。您可能想要为窗口制作一个包装器,因此在 open() 上您使用窗口设置全局。
只需在每个窗口焦点事件上设置一个标志,例如
Ti.App.Properties.setString('currentWindow',Ti.UI.currentWindow.title);
所以你只需要请求这个标志..
在每个窗口焦点事件中编写此代码
Ti.App.Properties.setString('currentWindow',Ti.UI.currentWindow.title);
Ti.UI.currentWindow.title 基本上应该是创建该窗口的文件的名称。
现在只需要在恢复事件上执行此操作
var newwin_name= Ti.App.Properties.getString('currentWindow');
var newwin = Ti.UI.createWindow({url:newwin_name+'.js'});
newwin.open();
希望这会有所帮助。
试试这个代码
首先,您将设置全局事件。并处理它以接收 windowTitle
Ti.App.addEventListener('resume', function(e) {
alert(e.windowTitle)
});
在你想触发这个事件的地方做这个
Ti.App.fireEvent('resume',{
windowTitle : Ti.UI.currentWindow.title
});
这样您就可以将自定义数据发送到全局事件
仅当您使用 Ti.UI.createWindow.url 方法在上下文中加载 javascript 时,属性“Ti.UI.currentWindow”才可用。然而,自从 3.6.0 版和合金的引入(http://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.Window-property-url)->然后是 Ti,此方法已被删除。 UI.getCurrentWindow 返回 null
我能够在当前窗口上保留指针的唯一方法是在创建时将其分配给 Alloy.Globals 集合上的全局变量,如果您使用多个 Windows 并且使用太多方法来浏览这些窗口,这是一个棘手的方法, 所以记住这一点。
焦点窗口是最后打开的!
您可以使用
var currentWindow = Ti.UI.getCurrentWindow();