2014-07-10 38 views
0

我正在開發一個使用鈦加速器的移動應用程序。當我點擊一個alertDialog時,我想在tableview上刪除一行。這裏是我的代碼:是對點擊一個alertDialog,使用鈦刪除行

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

哪個平臺iOS或Android? –

+0

使用android平臺。 –

+0

瓦哈卜你能幫我解答嗎?謝謝。 –

回答

0

試試這個,只需更換如果(ev.cancel ===真)如果(ev.index == 1)

alertDialog.addEventListener('click', function(ev){ 
    if(ev.index== 1) { 
     Titanium.API.info("Accept button was clicked !"); 
     $.tableView.deleteRow(e.row); 
     } 
}); 
+0

嗨Suraj,我試過這個,但每次行刪除收割機,當我點擊第二行到刪除它 ! –