1

我已经开始了一个新的钛移动项目(第一次!)。我有一个带有选项卡组的文件 main.js 和链接到两个窗口的 2 个选项卡。我的第一个标签似乎加载得很好,但之后的一切似乎都崩溃了。我无法单击列表项或触发按钮单击事件。我的第二个标签不起作用。但这并非总是如此。一半时间还好,另一半就崩溃了。这是我的代码:

应用程序.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();

主.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();

当我启动我的应用程序时,会加载约会窗口。但是,当我单击引号选项卡或列表项之一时,没有任何反应。

这是我的约会.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 文件与上面的文件相同,但窗口标题不同。

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

非常感谢任何帮助!

比利

4

3 回答 3

0

您的列表视图上没有单击事件处理程序,这就是单击列表时没有发生任何事情的原因。

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

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

于 2011-08-23T21:40:41.100 回答
0

如何将 main.js 更改为

var appointments = Titanium.UI.createWindow({
  url: 'appointments.js'
});

var quotes = Titanium.UI.createWindow({
  url: 'quotes.js'
});

这有帮助吗?

于 2011-08-23T21:05:34.230 回答
0

先试试这个...

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. 根据您的说法,该代码有时有效,有时无效。删除 build 文件夹中 Android 文件夹的内容,然后尝试编译,这是因为一些缓存问题以及您使用的钛合金版本。

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

让我知道他们中的任何人是否工作,这可能是他们之间的任何问题,如果您的问题仍然存在......请在此处发表评论。

于 2011-09-04T15:13:22.630 回答