appcelerator 如何关闭索引的 window 与另一个 window
appcelerator how close the window of index from another window
大家
我在 alloy 中使用钛,我有两个 windows,分别是 index.js 和 main.js。
index.js的window会在app运行的时候打开,index里面有一个按钮,有人点击这个按钮就会打开main。 Main 有另一个用于关闭索引的按钮。
如您所见,我正在尝试关闭主 window 中的索引 window。
在IOS中一切正常,但是当我在Android中测试时,我发现了一个奇怪的问题:当我点击main.js中的按钮关闭索引[=39] =],所有 windows(index 和 main)都关闭了。
我尝试了很多方法,比如使用 Ti.APP.trigger/Ti.APP.addEventListener 并将 $.index 或回调函数发送到 main.js。
谁能帮帮我,谢谢。
在index.js中使用这个
$.index.exitOnClose = false
您的解决方案是设置此 属性:exitOnClose = false 正如@genocsb 所回答的。仅在 Android.
上可用
实际上,这个 属性 告诉 window 应该在关闭 window 本身时关闭应用程序。因此,默认情况下,第一个 window 具有其 属性 exitOnClose = true.
在你的情况下,做这样的事情:
- index.js
Alloy.Globals.Index = $.index;
Alloy.Globals.Index.open();
// If you will do this and press back button on index screen, then you will land to splash screen.
// Alloy.Globals.Index.exitOnClose = false;
- main.js
$.button.addEventListener('click', function (){
$.main.exitOnClose = true; // setting it to true will cause your app to close from main.xml screen on back button press
Alloy.Globals.Index.exitOnClose = false; // setting it to false here will ensure that you will not land to splash screen if back button is pressed.
Alloy.Globals.Index.close();
Alloy.Globals.Index = null;
});
大家
我在 alloy 中使用钛,我有两个 windows,分别是 index.js 和 main.js。
index.js的window会在app运行的时候打开,index里面有一个按钮,有人点击这个按钮就会打开main。 Main 有另一个用于关闭索引的按钮。
如您所见,我正在尝试关闭主 window 中的索引 window。
在IOS中一切正常,但是当我在Android中测试时,我发现了一个奇怪的问题:当我点击main.js中的按钮关闭索引[=39] =],所有 windows(index 和 main)都关闭了。
我尝试了很多方法,比如使用 Ti.APP.trigger/Ti.APP.addEventListener 并将 $.index 或回调函数发送到 main.js。
谁能帮帮我,谢谢。
在index.js中使用这个
$.index.exitOnClose = false
您的解决方案是设置此 属性:exitOnClose = false 正如@genocsb 所回答的。仅在 Android.
上可用实际上,这个 属性 告诉 window 应该在关闭 window 本身时关闭应用程序。因此,默认情况下,第一个 window 具有其 属性 exitOnClose = true.
在你的情况下,做这样的事情:
- index.js
Alloy.Globals.Index = $.index;
Alloy.Globals.Index.open();
// If you will do this and press back button on index screen, then you will land to splash screen.
// Alloy.Globals.Index.exitOnClose = false;
- main.js
$.button.addEventListener('click', function (){
$.main.exitOnClose = true; // setting it to true will cause your app to close from main.xml screen on back button press
Alloy.Globals.Index.exitOnClose = false; // setting it to false here will ensure that you will not land to splash screen if back button is pressed.
Alloy.Globals.Index.close();
Alloy.Globals.Index = null;
});