关闭钛的倍数 window
close multiple window in titanium
在当前显示的 window 中按下按钮时,我将打开一个新的 Window。当用户单击后退或 android 中的后退按钮时,我关闭当前 window 并且它工作正常。但是当用户按下应用程序的主页按钮转到第一个 window 时,所有其他添加的 window 将保留在后台,并且在 android 如果用户按下后退phone 应用程序的按钮转到上次打开的 window 而不是它应该去的地方。
这就是我打开新窗口的方式 window:
view.addEventListener('click', function(e) {
var win = Ti.UI.createWindow({
url : 'List.js'
});
win.open();
});
要关闭 window 我使用:
Ti.UI.currentWindow.close();
例如,我打开了 window A、B、C、D,在 D 中 window 我按下了必须转到 B 的应用程序的主页按钮 window.所以我需要关闭 C 和 D window 但我现在不知道如何关闭后台的 C window。
我没有使用 Alloy
我认为实现此目的的一种方法是跟踪打开的 windows。
例如,在 alloy.js 你可以有:
Alloy.Globals.openWindows = []
(如果您不使用 Alloy,只需使用其他一些全局变量)
现在您的事件处理程序将如下所示:
view.addEventListener('click', function(e) {
var win = Ti.UI.createWindow({
url : 'List.js'
});
Alloy.Globals.openWindows.append(win);
win.open();
});
现在,如果您需要关闭 window 和父级 windows,您可以这样做:
Alloy.Globals.openWindows.pop().close()
您可以根据需要多次重复上述行以关闭所需数量的 windows。例如,如果您需要关闭 3 个父级 windows,您可以执行以下操作:
for (var i = 0: i < 3; i++) {
Alloy.Globals.openWindows.pop().close()
}
如果你需要关闭所有 windows,除了第一个你可以这样做(假设第一个 window 没有添加到 openWindows
):
while(Alloy.Globals.openWindows.length > 0) {
Alloy.Globals.openWindows.pop().close()
}
在当前显示的 window 中按下按钮时,我将打开一个新的 Window。当用户单击后退或 android 中的后退按钮时,我关闭当前 window 并且它工作正常。但是当用户按下应用程序的主页按钮转到第一个 window 时,所有其他添加的 window 将保留在后台,并且在 android 如果用户按下后退phone 应用程序的按钮转到上次打开的 window 而不是它应该去的地方。
这就是我打开新窗口的方式 window:
view.addEventListener('click', function(e) {
var win = Ti.UI.createWindow({
url : 'List.js'
});
win.open();
});
要关闭 window 我使用:
Ti.UI.currentWindow.close();
例如,我打开了 window A、B、C、D,在 D 中 window 我按下了必须转到 B 的应用程序的主页按钮 window.所以我需要关闭 C 和 D window 但我现在不知道如何关闭后台的 C window。
我没有使用 Alloy
我认为实现此目的的一种方法是跟踪打开的 windows。
例如,在 alloy.js 你可以有:
Alloy.Globals.openWindows = []
(如果您不使用 Alloy,只需使用其他一些全局变量)
现在您的事件处理程序将如下所示:
view.addEventListener('click', function(e) {
var win = Ti.UI.createWindow({
url : 'List.js'
});
Alloy.Globals.openWindows.append(win);
win.open();
});
现在,如果您需要关闭 window 和父级 windows,您可以这样做:
Alloy.Globals.openWindows.pop().close()
您可以根据需要多次重复上述行以关闭所需数量的 windows。例如,如果您需要关闭 3 个父级 windows,您可以执行以下操作:
for (var i = 0: i < 3; i++) {
Alloy.Globals.openWindows.pop().close()
}
如果你需要关闭所有 windows,除了第一个你可以这样做(假设第一个 window 没有添加到 openWindows
):
while(Alloy.Globals.openWindows.length > 0) {
Alloy.Globals.openWindows.pop().close()
}