2012-05-13 66 views
1

我有一個樂隊,我想在我們的鈦應用程序中創建一個部分,顯示我們的Facebook粉絲頁面圖片。將facebook圖片下載到鈦

我已經到了可以在表格行中獲取圖片的部分,但是當我點擊它們時它只顯示最後一張。奇怪的

類....

那麼這裏是我的代碼,所以也許你能幫忙看看我做了什麼錯....

var win = Ti.UI.currentWindow; 

win.hideNavBar(); 


Ti.UI.backgroundColor = '#dddddd'; 




var url = "https://graph.facebook.com/98604492365/photos"; 
var win = Ti.UI.createWindow(); 
var table = Ti.UI.createTableView(); 
var tableData = []; 
var json, data, position,picture, source,link,icon; 

var xhr = Ti.Network.createHTTPClient({ 
onload: function() { 
// Ti.API.debug(this.responseText); 

json = JSON.parse(this.responseText); 
for (i = 0; i < json.data.length; i++) { 
    data = json.data[i]; 
    row = Ti.UI.createTableViewRow({ 
     height:'60dp' 
    }); 
    var name = Ti.UI.createLabel({ 
     text:data.position, 
     font:{ 
      fontSize:'18dp', 
     fontWeight:'bold' 
    }, 
    height:'auto', 
    left:'50dp', 
    top:'5dp', 
    color:'#000', 
    touchEnabled:true 
    }); 



    // Avatar 
      var img = Ti.UI.createImageView({ 
       image : data.picture, 
       width : 35, 
       height : 35, 
       top  : 5, 
       bottom : 5, 
       borderRadius: 5, 
       left : 5 
      }); 
      row.add(img); 


    row.add(name); 

    tableData.push(row); 
    } 

table.setData(tableData); 
}, 
onerror: function(e) { 
Ti.API.debug("STATUS: " + this.status); 
Ti.API.debug("TEXT: " + this.responseText); 
Ti.API.debug("ERROR: " + e.error); 
alert('There was an error retrieving the remote data. Try again.'); 
}, 
timeout:5000 
}); 

xhr.open("GET", url); 
xhr.send(); 

// Handle a click event on the table 
    table.addEventListener('click',function(e) { 
     // Create the new window with the link from the post 
     var faceWindow = Ti.UI.createWindow({ 
      title : data.name, 
      modal : true, 
      barColor: '#050505', 
      backgroundColor: '#050505'    
     }); 
     var webView = Ti.UI.createWebView({url: data.source}); 
     faceWindow.add(webView); 

     // Create the close button to go in the left area of the navbar popup 
     var close = Titanium.UI.createButton({ 
      title: 'Close', 
      style: Titanium.UI.iPhone.SystemButtonStyle.PLAIN 
     }); 
     faceWindow.setLeftNavButton(close); 

     // Handle the close event 
     close.addEventListener('click',function() { 
      faceWindow.close(); 
     }); 



     faceWindow.open(); 
    }); 


win.add(table); 
win.open(); 

請幫助我,我失去了我介意......

感謝名單

// [R

回答

0

在你的代碼看,我甲肝縮進是錯誤的。看到這一點,我注意到你在事件處理程序'click'中使用了data.name和data.source。這些數據似乎是在foreach循環中設置的。

點擊事件不起作用。這是事件驅動的。你會明智地設置源URL和名稱作爲行上的變量。

row.photoName = data.name; 
row.photoSource = data.source; 

然後,在事件處理程序,設置e作爲回調變量。使用:

e.row.photoName; 
e.row.photoSource; 
+0

你是一個天才,我在你面前低頭!像魅力一樣工作!感謝名單! –