重新打开appcelerator应用程序崩溃

时间:2016-03-04 09:03:03

标签: javascript android tabs appcelerator

我正在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中应该不是解决方案,对吗?

1 个答案:

答案 0 :(得分:0)

在文档链接中,有一个示例代码。你能尝试运行代码,看看是否适合你。

http://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.TabGroup-method-close

下一步是创建Windows并将其分配给win1,win2和win3,而不是执行createController。

您能否确认上述两种情况正常。