在Titanium中停止tableviewrow的事件监听器

时间:2011-05-11 08:00:56

标签: android titanium tableview addeventlistener

当用户点击tableviewrow时,会出现警告框'row'。在tableviewrow中,它包含另一个包含图像视图的视图。当用户单击图像时,将弹出警告框“标签”。现在的问题是,当用户点击图像时,不仅会弹出警告框“标签”,而且警报框也会“弹出”。当用户点击图像时,如何避免弹出警报框“行”?当用户单击除图像之外的tableviewrow时,会出现警告框'row'。感谢..

var row = Titanium.UI.createTableViewRow({
   className:'rowclass',
});

var u_image = Titanium.UI.createImageView({
   image: 'image.jpg',
   top:10,
   left:4,
   height:36,
   width:36,
});
row.add(u_image);
RegData.push(row);

u_image.addEventListener('click', function(e){
   alert('label');
});
row.addEventListener('click', function(e){
   alert('row');
});

Ti 1.6,Android 2.2

2 个答案:

答案 0 :(得分:2)

使用id

创建图片视图
var u_image = Titanium.UI.createImageView({
   image: 'image.jpg',
   id: "image_view",
   top:10,
   left:4,
   height:36,
   width:36,
});

将你的听众放在整个桌子而不仅仅是特定的元素

myTable.addEventListener('click', function(e){
    if(e.source.id == "image_view") {
        alert('image_view');
    } else {
        alert('row');
    }
});

答案 1 :(得分:0)

检查以确保在发出警报之前没有先点击行内的图像。

row.addEventListener('click', function(e){
    if(e.source != "[object TiUIImageView]") {
        alert('row');
    }
});