2012-08-03 4 views
2

레이블이있는 일부 행이있는 tableView가 있습니다. 특정 행에 대해 길게 누르거나 스 와이프하여 행을 삭제하고 싶습니다. tableViewRow에있는 레이블로 tableView에 대한 긴 프레스 이벤트를 추가했지만 해당 콜백 메서드는 매개 변수를 다시 추가했습니다.테이블 행을 길게 누르거나 스 와이프하고 삭제하는 방법 - android titanium?

행의 선택된 색인을 얻는 방법 ???

table.addEventListener('longpress', function(e) { 
      alert(e.source); //showing [email protected] 

     }); 
+0

Tableview의 편집 가능한 속성은 Android가 아닌 iOS에서만 사용할 수 있습니다. – Jasmit

답변

1

longClick의 행을 삭제하려면 아래 코드를 시도하십시오.

var win = Ti.UI.currentWindow; 
var data=[]; 
for (var x = 0; x < 4; x++) { 
//var view = Ti.UI.createView(); 
var label = Ti.UI.createLabel({ 
    text : 'Row Label ' + x, 
    height : 'auto', 
    width : 'auto', 
    color : '#336699', 
    left : 10 
}); 
var row = Ti.UI.createTableViewRow({ 
    height : 50 
}); 
row.add(label); 
    data.push(row); 
} 

// create table view 
var tableview = Titanium.UI.createTableView({ 
    data : data 
}); 
tableview.addEventListener('longclick', function(e) { 
    tableview.deleteRow(e.index); 
}); 
win.add(tableview); 
+0

e.index는 tableView 인덱스가 아니며 label 객체를 반환합니다 .. :( – Udhaya

+1

안녕하세요, ** LabId **와 같은 맞춤 변수를 라벨에 추가 할 수 있으며 행을 longclick하는 동안 객체를 가져올 수 있습니다. (JSON.stringify (e.source.LabId)); – Nitin

+1

또한 e.row.index를 사용하여 tableview에서 어떤 행이 선택되어 있는지 찾을 수 있습니다. – Jasmit

관련 문제