使用Titanium单击alertDialog时删除行

时间:2014-07-10 18:16:33

标签: titanium

我正在使用钛金属加速器开发移动应用程序。当我点击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 无效!

1 个答案:

答案 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); } });