2012-01-14 2 views
0

что мне нужно сделать, это просто, но я не могу опустить голову вокруг него. я хочу, чтобы получить идентификатор из Thats Row была нажат, так что я могу перейти к следующему окну на основе этого идентификатора, то идентификаторы и Элементы список выбирается из внешнего источника через JSON и хранятся в NumberOfLists массивеПолучение индекса TableViewRow изнутри метода Onload Titanium

Titanium.UI.setBackgroundColor('#000'); 

// create base UI tab and root window 
// 
var win1 = Titanium.UI.createWindow({ 
    title : 'Main Window', 
    backgroundColor : '#fff' 
}); 

var listUrl = "http://magadhena.com/test/list.php?FCODE=5&USERID=1"; 
var NumberOfLists = []; 
var listsJson; 
var tableData = []; 
var table = Ti.UI.createTableView({ 
    top : 40, 
    left : 10, 
    width : 300 
}); 


var xhr = Ti.Network.createHTTPClient(); 
xhr.setTimeout(3000); 
xhr.onload = function() { 
    listsJson = eval('(' + this.responseText + ')'); 
    for(var i = 0; i < listsJson.length; i++) { 
      var userId = listsJson[i].userid; 
      var listId = listsJson[i].listid; 
      var listName = listsJson[i].listname; 

      var Object1 = new list(userId, listId, listName); 

      NumberOfLists.push(Object1); 


      var row = Ti.UI.createTableViewRow({ 
      title : Object1.listName, 
      hasDetail:true 
    }); 

    tableData.push(row) 

    } 
    table.setData(tableData); 


}; 
xhr.open("GET", listUrl); 
xhr.send(); 

win1.add(table); 



// Opening Window1 

win1.open(); 

///// List Objects 

    function list(userid, listid, listname) { 
    this.userId = userid; 
    this.listId = listid; 
    this.listName = listname; 

} 

ответ

0

Модифицируйте свою нагрузку. как правило, вы можете объявить пользовательские свойства к объекту строки, как этот

var Object1 = new list(userId, listId, listName); 

NumberOfLists.push(Object1); 


var row = Ti.UI.createTableViewRow({ 
    title : Object1.listName, 
    hasDetail:true, 
    remoteObject: Object1 /* your custom property */ 
}); 

этот Собственость должен быть легко читаемым в случае TableView клик:

table.addEventListener('click',function(e){ 
    var _clickedRow = e.row; 
    Ti.API.debug("userID:" +_clickedRow.remoteObject.userId); 
}); 
Смежные вопросы