Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 正在停止Tianium中tableviewrow的事件侦听器_Android_Titanium_Tableview_Addeventlistener - Fatal编程技术网

Android 正在停止Tianium中tableviewrow的事件侦听器

Android 正在停止Tianium中tableviewrow的事件侦听器,android,titanium,tableview,addeventlistener,Android,Titanium,Tableview,Addeventlistener,当用户单击tableviewrow时,将出现警告框“row”。在tableviewrow中,它包含另一个包含图像视图的视图。当用户单击图像时,将弹出一个警报框“标签”。现在的问题是,当用户单击图像时,不仅会弹出警告框“标签”,还会弹出警告框“行”。如何避免用户单击图像时弹出警告框“行”?当用户单击图像以外的tableviewrow时,会出现警告框“row”。谢谢 var row = Titanium.UI.createTableViewRow({ className:'rowclass',

当用户单击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

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

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

使用
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');
    }
});