1

我在從facebook上的羣組事件中獲取json時遇到了一些麻煩,然後將它們放在一個tableview中用於Appcelerator移動應用程序。Json從Facebook事件解析

這個想法是讓這個日曆以簡單的方式顯示一個俱樂部的事件。

我想顯示事件的名稱。該事件的圖片和事件的日期。

所有在一個表。

我得到的部分,我可以得到這個代碼的事件的名稱和日期:

Ti.UI.backgroundColor = '#dddddd'; 

var access_token='AAACEdEose0cBAAICGa4tFTcZAqCOGm2w9qPYGZBwNtJ1oZAcwaMAP2DDHZCN58cvVBZCHZADZAZBTPC8tTnpfQ7uGKI5j3SbMYcRmWquZCdPzhwZDZD'; 

var url = "https://graph.facebook.com/64306617564/events?&access_token=" + access_token ; 
var win = Ti.UI.createWindow(); 
var table = Ti.UI.createTableView(); 
var tableData = []; 
var json, data, row, name, start_time, id; 

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.name, 
     font:{ 
      fontSize:'18dp', 
     fontWeight:'bold' 
    }, 
    height:'auto', 
    left:'50dp', 
    top:'5dp', 
    color:'#000', 
    touchEnabled:true 
    }); 



    var start_time = Ti.UI.createLabel({ 
    text:'"' + data.start_time + '"', 
    font:{ 
     fontSize:'13dp' 
    }, 
    height:'auto', 
    left:'15dp', 
    bottom:'5dp', 
    color:'#000', 
    touchEnabled:true 
    }); 


    row.add(name); 
    row.add(start_time); 
    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(); 

但是,當我想要的特定事件在新窗口中打開單擊時我只是得到當我把這個在一個瀏覽器,就在於最後屏幕上的事件:

https://graph.facebook.com/64306617564/events?&access_token=AAACEdEose0cBAOLAFWMKPmvgqEwap1ldnl7DeZBDKJC6YTZC4Goh6K5NHsvpOFmFQaGp1IekVsCxZCZCz3lwGpRcQG9ZBkcMrZAnLk4As8kgZDZD

和訪問令牌過期的真快。任何想法如何使持續時間更長的訪問令牌?

好,我使用的打開窗口中的代碼是:

table.addEventListener('click',function(e) { 
     // Create the new window with the link from the post 
     var blogWindow = Ti.UI.createWindow({ 
      title : data.name, 
      modal : true, 
      barColor: '#050505', 
      backgroundColor: '#050505'    
     }); 
     var webView = Ti.UI.createWebView({url:'http://www.facebook.com/events/' + data.id}); 
     blogWindow.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 
     }); 
     blogWindow.setLeftNavButton(close); 

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



     blogWindow.open(); 
    }); 
win.add(table); 
win.open(); 
在我看來應該打開的點擊來自行解析ID,並把它的鏈接後,事件

我是智障還是錯?

它不關心我在哪個事件點擊它只是打開所有時間的最後一個。

我怎樣才能得到事件的縮略圖?

請幫助........

回答

0

當你點擊表格從數據這是不available.You可以使用你自定義變量試着把這行代碼實現它獲得價值在你的行創建中,你添加數組中的行,即row.data = data;和表單擊事件使用此alert(e.source.data);獲取該對象並檢查它。祝你好運