2013-02-05 42 views
1

工作,我在新的鈦,並使用它爲iPhone應用程序,我沒有拿到的情況下工作時,它是在一個Ti.Network.createHTTPClient()函數。我不能從網絡功能外部調用它。爲什麼會發生?的addEventListener不鈦

我的目標是當我一個圖像上點擊呼叫點擊事件來顯示圖像畫廊的形象。我在carImageGallery.js文件中有圖片庫代碼。

我沒能找出問題所在。請幫幫我。這是我的代碼示例。提前致謝。

var win = Ti.UI.currentWindow; 

var nid = Titanium.App.Properties.getInt('id'); 
var url = carsDetailUrl + nid; 

var imageArea = Titanium.UI.createView({ 
    width : 300, 
    top: 50, 
    height : 125, 
    backgroundColor : '#fffB', 
    borderRadius : 6, 
}) 


var xhr = Ti.Network.createHTTPClient({ 
    onload : function() { 

     var tableData = []; 
     var topPosition = 00; 
     var cars, userNameLabel, commentsLabel, row, dateLabel; 

     var headLines, titleLabel, imageLabel, i, row, viewDetail, cars,images; 

     cars = JSON.parse(this.responseText); 
     headLines = cars.data[1]; 
     images = cars.data[1]['image']; 

     Ti.API.info(images); 

     var mainScrollView = Ti.UI.createScrollView({ 
      top : '0dp', 
      left : '0dp', 
      contentWidth : 320, 
      touchEnabled : 'true', 
      borderRadius : 10, 
      backgroundImage : '../images/bg.png', 
      showHorizontalScrollIndicator : false, 
      showVerticalScrollIndicator : false, 
      height : '300dp' 
     }); 

     if (getSession() != false) { 
      mainScrollView.height = '300dp'; 
     } else { 
      mainScrollView.height = 'auto'; 
     } 

     var viewDetail = Ti.UI.createView({ 
      top : '10dp', 
      left : '10dp', 
      height : 'auto', 
      width : '94%', 
      touchEnabled : 'true', 
      borderRadius : 10, 
      backgroundColor : '#FFFFFF', 
     }); 
     var view = Titanium.UI.createView({ 
      borderColor : "#C0C0C0", 
      borderWidth : 1, 
      top : "50dp", 
      left : "10dp", 
      width : "94%", 
      height : "1dp" 
     }); 

     var titleLabel = Ti.UI.createLabel({ 
      text : headLines['title'], 
      font : { 
       fontSize : '14dp', 
       fontWeight : 'bold', 

      }, 
      height : 'auto', 
      left : '10dp', 
      top : '10dp', 
      color : '#C51515', 
      touchEnabled : true 
     }); 
     brandLabel = Ti.UI.createLabel({ 
      text : headLines['brand'], 
      font : { 
       fontSize : '12dp', 
       fontWeight : 'bold', 

      }, 
      height : 'auto', 
      left : '10dp', 
      top : '30dp', 
      color : '#000', 
      touchEnabled : true 
     }); 

     var image1 = Ti.UI.createButton({ 
      backgroundImage : encodeURI(images[1]), 
      left : '8dp', 
      top : '10dp', 
      width : '135dp', 
      height : '106dp', 
      borderColor : '#000000', 
      borderRadius : 6, 
      borderWidth : 1, 
     }); 
     var image2 = Ti.UI.createButton({ 
      backgroundImage : encodeURI(images[2]), //"../images/bus.jpg", 
      left : '150dp', 
      top : '11dp', 
      width : '70dp', 
      height : '50dp', 
      borderColor : '#000000', 
      borderRadius : 3, 
      borderWidth : 1, 
     }); 
     var image3 = Ti.UI.createButton({ 
      backgroundImage : encodeURI(images[3]), 
      left : '150dp', 
      top : '64dp', 
      width : '70dp', 
      height : '50dp', 
      borderColor : '#000000', 
      borderRadius : 3, 
      borderWidth : 1, 
     }); 
     var image4 = Ti.UI.createButton({ 
      backgroundImage : encodeURI(images[4]), 
      left : '223dp', 
      top : '11dp', 
      width : '70dp', 
      height : '50dp', 
      borderColor : '#000000', 
      borderRadius : 3, 
      borderWidth : 1, 
     }); 
     var image5 = Ti.UI.createButton({ 
      backgroundImage : encodeURI(images[5]), 
      left : '223dp', 
      top : '64dp', 
      width : '70dp', 
      height : '50dp', 
      borderColor : '#000000', 
      borderRadius : 3, 
      borderWidth : 1, 
     }); 

     var textLabel1 = Ti.UI.createLabel({ 
      text : headLines['description'], 
      font : { 
       fontSize : '10dp', 
       fontWeight : 'bold', 

      }, 
      height : 'auto', 
      left : '10dp', 
      top : '170dp', 
      //bottom: '50dp', 
      color : '#000', 
      touchEnabled : true 
     }); 

     var view2nd = Titanium.UI.createView({ 
      layout : 'vertical', 
      top : "20dp", 
      left : "10dp", 
      width : 300, 
      touchEnabled : 'true', 
      height : "auto" 
     }); 

     viewDetail.add(view); 
     viewDetail.add(titleLabel); 
     viewDetail.add(brandLabel); 
     viewDetail.add(imageArea); 
     imageArea.add(image1); 
     imageArea.add(image2); 
     imageArea.add(image3); 
     imageArea.add(image4); 
     imageArea.add(image5); 

     view2nd.add(textLabel1); 

     image1.addEventListener('click', function(e) { 

       Ti.API.info("image1 clicked"); 

      var newWin = Ti.UI.createWindow({ 
       url : '../automobileSubClass/carImageGallery.js', 
       title : headLines['title'], 
       tabBarHidden : true, 
       barColor : '#000000', 
       backgroundImage : "../images/bg.png" 
      }); 
      Titanium.UI.currentTab.open(newWin, { 
       animated : true 
      }); 

     }); 

     mainScrollView.add(viewDetail); 
     win.add(mainScrollView); 

    }, 

    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. Please check your internet cunnectivity.'); 
    }, 
    timeout : 45000 
}); 

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

是否有在控制檯中的任何錯誤? – Anand

+0

不,Anand ...在控制檯中沒有錯誤..但它不工作。 。:( –

回答

0
image1.addEventListener('click', function(e) { 

       Ti.API.info("image1 clicked"); 

      var newWin = Ti.UI.createWindow({ 
       url : '../automobileSubClass/carImageGallery.js', 
       title : headLines['title'], 
       tabBarHidden : true, 
       barColor : '#000000', 
       backgroundImage : "../images/bg.png" 
      }); 
      Titanium.UI.currentTab.open(newWin, { 
       animated : true 
      }); 

     }); 
  1. 你嘗試通過刪除窗口和 標籤註冊一個點擊事件。
  2. 爲什麼是tabBarHidden:真實,你試圖打開爲newwin 在currentTab。
+0

是Vinothbabu,我想在當前tab.And打開爲newwin不會要開使用TabBar畫廊所以我設置tabBarHidden:真, 我甚至沒有得到Ti.API.info( 「image1 clicked」)在控制檯中輸出... –

+0

@AFMNazmusSakib:執行此操作image1.addEventListener('click',function(e){ Ti.API.info(「image1 clicked」); }); – Thalaivar

+0

只是刪除窗口和TabBar的代碼,並允許檢查你是否越來越信息聲明的onClick – Thalaivar