标签视图eventlistener在表视图中不起作用

时间:2012-02-17 13:38:11

标签: ios uitableview titanium titanium-mobile

我在运行时在我的应用程序中创建了LabelView数组并将其添加到TableView中。但是单击EventListener不适用于LabelView,这是我的示例代码

var picRow = Titanium.UI.createTableViewRow();
var photoContainer = Ti.UI.createView({
    top:0,
    width:300,
    left:15,
    right:5,
    height:200
})
picRow.add(photoContainer);  

var shareTable = Ti.UI.createTableView({
    data:[picRow],
    top:10,
    left:0,
    right:0,
    height:250,
    separatorColor: '#ccc',
    backgroundColor:'transparent'
});
win.add(shareTable);

var pushleft = 5;
var pushtop = 5;
var images = [];

for (var i = 0; i < imageArray.length; i++){
    images[i] = Ti.UI.createLabel({
         backgroundImage: imageArray[i].image, // path to image at applicationDataDirectory
         width: 70  ,
         height: 70,
         "tickOption":false,
         "index":i,
         "picId":imageArray[i].picId,
         left: pushleft + 25, // logic for positioning
         top: pushtop + 5
    });
    pushleft = pushleft + 80;
    pushtop = pushtop + 50;
    photoContainer.add(images[i]);

    images[i].addEventListener('click', function(e) {
         alert(e);
    }); 
}

在点击标签视图时,我没有收到任何警报。我也没有收到任何错误。有人帮我解决这个问题。提前致谢。我正在使用Titanium 1.7.5和ios

1 个答案:

答案 0 :(得分:0)

最佳做法是将eventlistener放在整行上,然后查看click事件对象以确定哪个对象收到了点击。

所以例如你会找对象的picId,如果它存在,你会知道点击了一个标签