Остановка прослушивателя событий tableviewrow в Titanium - PullRequest
0 голосов
/ 11 мая 2011

когда пользователь щелкает по строке просмотра, появится окно с предупреждением «row». А внутри tableviewrow оно содержит другое представление, которое содержит представление изображения. При щелчке пользователя по изображению появится всплывающее окно с меткой. Теперь проблема заключается в том, что когда пользователь нажимает на изображение, появляется не только окно с меткой предупреждения, но и строка с предупреждением. Как я могу избежать появления окна «строка» предупреждения, когда пользователь нажимает на изображение? Окно предупреждения «строка» появляется, когда пользователь нажимает на строку просмотра таблицы, отличную от изображения. Спасибо ..

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 ]

2 голосов
/ 11 мая 2011

создайте представление изображения с помощью 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');
    }
});
0 голосов
/ 11 мая 2011

Убедитесь, что вы не нажимаете на изображение внутри строки, прежде чем получать предупреждения.

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