我正在Appcelerator和我的index.js中构建一个小应用程序我创建了3个选项卡并在Tabgroup中打开它们,非常基本的东西。
请参阅下面的代码:
[ws_frame]
在我的手机上安装应用程序时,一切似乎都正常工作,在标签/窗口之间切换正常工作,我的窗口中的事件/功能正常启动。
当我关闭应用程序时,当我的一个标签窗口打开并按下安卓后退按钮时问题就开始了。应用程序关闭,但当我重新打开应用程序时,会弹出一条警告消息,说应用程序已停止工作。
我似乎无法找到我的代码有什么问题,是不是它的手机(HTC M8)或Appcelerator相关?
修改
我测试了Soumya和Fokke建议的方法,这导致我的应用程序没有崩溃。它也会在重启时关闭并继续。我已经改变了声明win1,win2和win3从使用createController创建窗口,如下所示:
var win1 = Alloy.createController('getContacts').getView();
var win2 = Alloy.createController('getGroups').getView();
var win3 = Alloy.createController('settings').getView();
var tab1 = Ti.UI.createTab({
window: win1,
icon:'KS_all.png',
backgroundSelectedColor:'#ffffff'
}),
tab2 = Ti.UI.createTab({
window: win2,
icon:'KS_groups.png',
backgroundSelectedColor:'#ffffff'
}),
tab3 = Ti.UI.createTab({
window: win3,
icon:'KS_settings.png',
backgroundSelectedColor:'#ffffff'
}),
tabGroup = Ti.UI.createTabGroup({
tabs: [tab1, tab2, tab3],
tabsBackgroundColor:'#ff6600',
tabsBackgroundSelectedColor:'#ffffff',
exitOnClose:'true'
});
tabGroup.open();
并将我的createTabGroup中的exitOnClose从字符串更改为布尔值(我很抱歉Fokke)。这似乎完美无缺。好的,现在我可以继续构建我的应用程序了。但是我如何能够使用我希望用作Windows的js文件中的代码(解析json数据)?
将我的文件中的代码(getContacts.js,getGroups.js和settings.js)复制到index.js中应该不是解决方案,对吗?
答案 0 :(得分:0)
在文档链接中,有一个示例代码。你能尝试运行代码,看看是否适合你。
http://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.TabGroup-method-close
下一步是创建Windows并将其分配给win1,win2和win3,而不是执行createController。
您能否确认上述两种情况正常。