2012-02-17 79 views
0

我在运行期间在应用程序中创建了ArrayView的LabelView,并将其添加到TableView中。但是,单击事件侦听不工作的LABELVIEW,这里是我的示例代码标签视图eventlistener不能在表视图中工作

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

回答

0

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

因此,例如,你能看到物体的picId,如果它存在,你就会知道,一个标签被点击

+0

能否请您为“找对象的picId提供的代码示例,如果存在,你会知道一个标签被点击“??? – Maulik 2012-02-18 04:12:06