在 Titanium 中恰好有两列的表视图中显示内容

display content in tableview having exactly two columns in Titanium

我有一个 json 响应,其中包含我想在 tableview 中显示图像的图像和其他内容,但它应该只包含两列,行数不受限制。

任何人都可以帮助解决这个问题吗?

代码:

for (var i = 0; i < jsonResponse.length; i++) 
{ 
    var row = Ti.UI.createTableViewRow({ 
        width : Ti.UI.SIZE, 
        height : Ti.UI.SIZE, 
        layout: "horizontal" 
    });

    var myImage = Ti.UI.createImageView({ 
        width : Ti.UI.SIZE, 
        height : Ti.UI.SIZE, 
        image : jsonResponse[i].cover_image_url 
    }); 

    row.add(myImage); 
    data.push(row); 
} 
table.setData(data); 
win2.add(tableview);

应该这样做:

var rowHeight = 50; // just pick the right height here
var imageRowIsFull = false;
var row = Ti.UI.createTableViewRow({ 
        width : '100%', 
        height : rowHeight, 
        layout: "horizontal" 
    });
for (var i = 0; i < jsonResponse.length; i++) 
{ 
    var myImage = Ti.UI.createImageView({ 
        width : '50%', 
        height : rowHeight, 
        image : jsonResponse[i].cover_image_url 
    }); 

    myImage.addEventListener('click', function(event){
          //event handling here
    });

    row.add(myImage); 
    imageRowIsFull = false;

    if ( (i + 1) % 2 == 0) { //this will add a new row every 2 items.
       imageRowIsFull = true; 
       data.push(row); 
       row = Ti.UI.createTableViewRow({ 
            width : '100%', 
            height : rowHeight, 
            layout: "horizontal" 
       });
    }
} 

if (!imageRowIsFull) { //do not forget to add the last row
       data.push(row); 
}
table.setData(data); 
win2.add(tableview);