创建不显示URL Titanium的窗口

时间:2014-04-24 05:40:44

标签: android titanium

我试图制作这个应用程序,并使用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导航是不可能的。

2 个答案:

答案 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'}