我在运行时在我的应用程序中创建了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
答案 0 :(得分:0)
最佳做法是将eventlistener放在整行上,然后查看click事件对象以确定哪个对象收到了点击。
所以例如你会找对象的picId,如果它存在,你会知道点击了一个标签