我试图制作这个应用程序,并使用for计数器循环来添加数据,但是我无法通过addEventListener来打开.js文件。源路径是正确的。我从属性验证了! 我试图在一个合金项目上做,但失败了,所以回到传统项目 app.js文件的代码如下:
var win = Ti.UI.createWindow({
title: 'Categories',
exitOnClose: true
});
var data = [];
var categories = [
{title:"Art", url:'app://project 333/Resources/art/artCategory.js'},
{title:"Automotive"},
{title:"Books & Literature"},
{title:"Buildings"},
{title:"Business"},
{title:"Dance"},
{title:"Economy"},
{title:"Education"},
{title:"Fashion"},
{title:"Food"},
{title:"Gardening"},
{title:"Hacking"},
{title:"Health"},
{title:"IT"},
{title:"Military Affairs"},
{title:"Mining"},
{title:"Movies"},
{title:"Music"},
{title:"News"},
{title:"Politics"},
{title:"Sports"},
{title:"Travel"}
];
for (i = 0; i <= categories.length - 1; i++){
var row = Ti.UI.createTableViewRow({
url: categories[i].url,
hasChild:true
});
var rowdata = Ti.UI.createLabel({
text: categories[i].title,
color: '#000',
font: { fontSize: 24, fontWeight:'Italics', fontFamily:'Helvatica' },
hasChild:true,
});
row.url = categories[i].url;
row.add(rowdata);
row.categories = categories[i];
data.push(row);
}
var table = Ti.UI.createTableView({});
table.setData(data);
table.addEventListener('click', function(event){
if (event.row.categories.url){
var win1 = Titanium.UI.createWindow({
url: event.row.categories.url,
title: event.row.categories.title,
_parent: Titanium.UI.currentWindow
});
win1.open({
url: event.row.categories.url
});
}
});
win.backgroundColor = 'white';
win.add(table);
win.open();
以下是我要在新窗口中打开的文件:
var win1 = Ti.UI.currentWindow({
title: "Category of Art"
});
win1.backgroundColor = 'white';
var categories = [
{title:"Latest Creations", path:"art/latestCreations/londonartguide.js"},
{title:"Tutorials"},
{title:"Artists"},
{title:"Exhibitions"}
];
var data = [];
for (i = 0; i <= categories.length - 1; i++){
var row = Ti.UI.createTableViewRow();
var rowdata = Ti.UI.createLabel({
text: categories[i].title,
color: '#000',
font: { fontSize: 24, fontWeight:'Italics', fontFamily:'Helvatica' },
hasChild:true
});
row.path = categories[i].path;
row.add(rowdata);
row.hasChild = rowdata.hasChild;
data.push(row);
}
var table = Ti.UI.createTableView({});
table.setData(data);
table.addEventListener('click', function(e){
if (e.row.path){
var nextWin = Titanium.UI.createWindow({
path: e.rowData.path,
title: e.rowData.title
});
nextWin.open();
}
});
win1.add(table);
win1.open();
任何形式的帮助都将受到高度赞赏。此外,这是一个Android应用程序,所以iPhone导航是不可能的。
答案 0 :(得分:1)
是的,您需要设置路径,如。
{title:&#34; Art&#34;,url:&#39; /art/artCategory.js'}
也在你的artCategory.js中替换
var win1 = Ti.UI.currentWindow({
title: "Category of Art"
});
与
var win1 = Ti.UI.currentWindow;
win1.title= "Category of Art";
希望它能运作
答案 1 :(得分:0)
以下路径错误..
app://project 333/Resources/art/artCategory.js
您需要设置资源文件夹中的路径...例如
{title:"Art", url:'/art/artCategory.js'}