Titanium Mobile:应用程序在加载第一个窗口后崩溃

Titanium Mobile: App crashes after loading first window

本文关键字:第一个 窗口 崩溃 加载 Mobile 应用程序 Titanium      更新时间:2023-09-26

我已经开始了一个新的钛移动项目(第一次!)我有一个文件main.js与选项卡组和2选项卡链接到两个窗口。我的第一个标签似乎加载得很好,但之后的一切似乎崩溃了。我不能点击列表项或触发按钮点击事件。我的第二个标签不工作了。但并不是所有时候都是这样。一半的时候还好,另一半的时候就崩溃了。下面是我的代码:

app.js:

Titanium.UI.setBackgroundColor('#fff');
var main = Ti.UI.createWindow({
    url:'main_windows/main.js',
    height:Ti.Platform.displayCaps.platformHeight,
    width:Ti.Platform.displayCaps.platformWidth,
    fullscreen: true,
    navBarHidden: false
});
main.open();

main.js:

var win = Ti.UI.currentWindow;
var appointments = Titanium.UI.createWindow({});
appointments.url = 'appointments.js';
var quotes = Titanium.UI.createWindow({});
quotes.url = 'quotes.js';
var tabAppointments = Titanium.UI.createTab({  
    icon:'../KS_nav_views.png',
    title:'Appointments',
    window:appointments
});
var tabQuotes = Titanium.UI.createTab({  
    icon:'../KS_nav_views.png',
    title:'Quotes',
    window:quotes
});
// create tab group
var tabGroup = Titanium.UI.createTabGroup();
//
//  add tabs 
//
tabGroup.addTab(tabAppointments);  
tabGroup.addTab(tabQuotes);  
// open tab group
tabGroup.open();

当我启动我的应用程序时,约会窗口被加载。但是,当我单击引号选项卡或其中一个列表项时,什么也没有发生。

这是我的appointment .js文件:

var win = Ti.UI.currentWindow;
win.backgroundColor = '#fff';   
win.title = 'Appointments';
var data = [
    {title:'Billy Jones', hasChild:true},
    {title:'Adrian Hart', hasChild:true},
    {title:'Sid Vel', hasChild:true},
    {title:'Andrew Coats', hasChild:true}
];
// create table view
var tableview = Titanium.UI.createTableView({
    data:data
});
win.add(tableview);

我的quotes.js文件与上面的相同,但具有不同的窗口标题。

就像我说的,有时每一个似乎工作,然后我重建代码,它不工作了。

任何帮助,最感谢!

比利

把main.js改成

怎么样?
var appointments = Titanium.UI.createWindow({
  url: 'appointments.js'
});
var quotes = Titanium.UI.createWindow({
  url: 'quotes.js'
});

有帮助吗?

您的列表视图上没有点击事件处理程序,所以这就是为什么当您点击列表时没有发生任何事情。

tableview.addEventListener('click',function(e) {
       alert("clicked row"); 
});

所有的文件都在哪里?我注意到你在一个叫main_windows的目录里有一些?确保在通过url创建窗口时设置了正确的路径。你可以通过将所有文件移到同一目录来检查URL路径是否有问题然后看看是否有效

先试试这个…

var tabAppointments = Titanium.UI.createTab({  
    icon:'/KS_nav_views.png',
    title:'Appointments',
    window:appointments
});
var tabQuotes = Titanium.UI.createTab({  
    icon:'/KS_nav_views.png',
    title:'Quotes',
    window:quotes
});

将你的图标路径替换为这样的东西,然后编译并检查,你不需要给出路径…/将从你的应用程序的根…

  1. 根据你的声明,代码有时工作,有时不工作。删除你的内容Android文件夹内的构建文件夹,然后尝试编译,这是由于一些缓存问题,顺便说一句,你使用的是哪个版本的钛。

  2. 从main.js文件中删除var win = Ti.UI.currentWindow;

让我知道他们中是否有人工作,这可能是他们之间的任何问题,如果你的问题仍然存在…请在这里留言