我正在使用钛金属加速器开发移动应用程序。当我点击alertDialog时,我想在tableview上删除一行。这是我的代码:
dataArray = [];
//Insert the JSON data to the table view
for( var i=0; i<json.length; i++){
var row = Ti.UI.createTableViewRow({
title: json[i].nom,
hasChild : true,
obj: json[i].titrePro,
obj1: json[i].adresse
});
row.addEventListener('click',function(e){
//$.tableView.deleteRow(e.row);
var alertDialog = Titanium.UI.createAlertDialog({
title: 'A propos '+e.row.title,
message: '\nTitre Pro : '+e.row.obj+'\n\nAdresse : '+e.row.obj1+'\n', buttonNames: ['Rejeter','Accepter'], cancel: 1 });
alertDialog.addEventListener('click', function(ev){
if(ev.cancel===true) {
Titanium.API.info( "Accept button was clicked !");
$.tableView.deleteRow(e.row);
}
});
alertDialog.show();
});
dataArray.push(row);
};
$.tableView.setData(dataArray);
错误发生在:
$.tableView.deleteRow(e.row);
运行我的应用时,Titanium.API.info( "Accept button was clicked !");
显示正确,但 deleteRow 无效!
答案 0 :(得分:0)
试试这个,只需用 if(ev.index == 1)
alertDialog.addEventListener('click', function(ev){
if(ev.index== 1) {
Titanium.API.info( "Accept button was clicked !");
$.tableView.deleteRow(e.row);
}
});