2012-02-17 12 views
0

런타임 중에 내 응용 프로그램에 LabelView Array를 생성하고 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

eventlistener를 전체 행에 배치 한 다음 click 이벤트 객체를보고 어떤 객체가 클릭을 받았는지 확인하는 것이 좋습니다. 그것이 존재한다면

그래서 당신은 개체의 picId 찾는 것, 예를 들어, 당신은 레이블이

+0

당신이 경우, 개체의 picId을 찾아 "에 대한 코드 예제를 제공 주실 래요 클릭 된 것을 알 것입니다 그것은 존재했다면 레이블이 클릭되었음을 알 수 있습니다. "??? – Maulik

관련 문제