Eventlistener Label View не работает в табличном представлении - PullRequest
0 голосов
/ 17 февраля 2012

Я создаю массив 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

1 Ответ

0 голосов
/ 17 февраля 2012

Лучше всего разместить Eventlistener на всю строку, а затем посмотреть на объект события click, чтобы определить, какой объект получил щелчок.

, поэтому, например, вы должны искать picId объектаесли бы он существовал, вы бы знали, что на ярлык нажали

...