0

我正在使用 Titanium for ios 构建一个移动应用程序,我很难让我的手臂环绕传递的变量。我正在使用本地数据库和远程数据库的组合来传递我的数据。在这种情况下,我想传递所选 tableViewRow 上的数据。显示我称之为“categorydescription”的数据的标签。在我的 table.addEventListener 中,我想将该数据作为新窗口的标题传递,并将相同的数据传递给远程服务器上的我的 php 文件。这是我尝试使用的代码:

var xhr = Ti.Network.createHTTPClient({
onload: function() {
Ti.API.debug(this.responseText);

var json = JSON.parse(this.responseText);
for (i = 0; i < json.cms_client.length; i++) {
    client = json.cms_client[i];
    row = Ti.UI.createTableViewRow({
        height:'44dp',
        hasChild:true
    });

var categorydescription = Ti.UI.createLabel({
        text:client.catdesc,
        font:{fontSize:'16dp', fontWeight:'bold'},
    height:'auto',
    left:'10dp',
    color:'#000'
    });

row.add(categorydescription);
    tableData.push(row);
}
table.addEventListener('click',function(e) {
    var win = Ti.UI.createWindow({url: 'clients.js', title: ??});
    var catdesc = ??;
    win.catdesc = catdesc;
    Titanium.UI.currentTab.open(win,{animated:true});
}); 
 table.setData(tableData);

有人会这么好心告诉我我需要用什么代替吗?在上面的“标题”和“var catdesc”中?

4

1 回答 1

0

只需将类别描述和标题添加到行对象本身:

row = Ti.UI.createTableViewRow({
    height:'44dp',
    hasChild:true,
    categoryDescription : client.catdesc, //Add this
    clientTitle : client.title // Add this
});

现在让它们进入监听器:

table.addEventListener('click',function(e) {
    var win = Ti.UI.createWindow({url: 'clients.js', title: e.row.title});
    var catdesc = e.row.categoryDescription;
    win.catdesc = catdesc;
    Titanium.UI.currentTab.open(win,{animated:true});
}); 
于 2013-03-26T15:04:40.910 回答