2010-10-04 36 views
2

我附加了一份简历事件的应用程序,我想检测是什么窗口目前集中你如何获得Titanium Mobile当前关注的窗口?

Ti.App.addEventListener('resume', function(e) { 
    // what window is focused? visible? 
}); 
+0

你有解决这个问题吗? – 2011-11-26 13:46:49

+0

不,我没有。抱歉。 – Shiki 2012-01-26 09:27:41

回答

1

只是设置一个标志上的每一个窗口焦点事件像

Ti.App.Properties.setString('currentWindow',Ti.UI.currentWindow.title); 

所以你只需要请求这个标志..

+0

不完全是我在找什么。我希望访问实际的当前窗口对象。有可能我打开了很多窗口(也许是在彼此之上)。我想在根窗口中附加Ti.App的'resume'事件,并且当事件被触发时,我想检查当前可见的窗口。 – Shiki 2010-10-22 11:36:23

7

你可以尝试Ti.UI.currentWindow - 但我在过去有过混合的结果。

最基本的选择是在app.js中创建一个全局变量来存储窗口,因此在恢复时只需检查它。你可能想要为windows打包,open()就是用window来设置你的全局。

-1

您可以使用

var currentWindow = Ti.UI.getCurrentWindow();

1

写这个代码在每一个窗口焦点事件

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(); 

希望这会有所帮助。

-1

聚焦的窗口是最后打开的!

0

试试这个代码

首先你会设置全局事件。并处理它接收WINDOWTITLE

Ti.App.addEventListener('resume', function(e) { 
    alert(e.windowTitle) 
}); 

,并在地方,你想火这一事件使这个

Ti.App.fireEvent('resume',{ 
windowTitle : Ti.UI.currentWindow.title 
}); 

这样你就可以发送自定义数据,以全局事件

0

的财产“只有在使用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和多种方式浏览这些窗口,则这是一个棘手的方法,因此请记住这一点。

相关问题