2013-04-10 69 views
1

我正在爲iphone的移動web應用程序。我從哪裏獲得網絡服務的數據。 問題是我的圖像視圖不能用於點擊事件。我不知道這是什麼緣故? 請幫助...我後我的代碼波紋管......單擊事件不起作用,當點擊鈦ImageView

Titanium.include('commonFile.js'); 

    var win = Ti.UI.currentWindow; 

    var url = carsDetailUrl + nid; 

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

    var image1 = Ti.UI.createImageView({ 
      image : "", 
      left : '8dp', 
      top : '10dp', 
      width : 135, 
      height : 106, 
      touchEnabled : 'true', 
      borderColor : '#000000', 
      borderRadius : 6, 
      borderWidth : 1, 
     }); 
    var completeScrollView = Ti.UI.createScrollView({ 
       top : '0dp', 
       left : '0dp', 
       contentWidth : 320, 
       touchEnabled : 'true', 
       borderRadius : 10, 
       backgroundImage : '../images/bg.png', 
       showHorizontalScrollIndicator : false, 
       showVerticalScrollIndicator : false, 
       //height : '300dp' 
      }); 


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

      var tableData = []; 
      var headLines, imageLabel, i, row, viewDetail, cars, images; 

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

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

      var viewDetail = Ti.UI.createView({ 
       top : '10dp', 
       left : '10dp', 
       height : 'auto', 
       width : '94%', 
       touchEnabled : 'true', 
       borderRadius : 10, 
       backgroundColor : '#FFFFFF', 
      }); 

     image1.image = encodeURI(images[1]); 

     /*var image1 = Ti.UI.createImageView({ 
      image : encodeURI(images[1]), 
      left : '8dp', 
      top : '10dp', 
      width : 135, 
      height : 106, 
      touchEnabled : 'true', 
      borderColor : '#000000', 
      borderRadius : 6, 
      borderWidth : 1, 
     });*/ 

      var image2 = Ti.UI.createImageView({ 
       image : encodeURI(images[2]), 
       left : '150dp', 
       top : '11dp', 
       width : '70dp', 
       height : '50dp', 
       borderColor : '#000000', 
       borderRadius : 3, 
       borderWidth : 1, 
      }); 

      viewDetail.add(imageArea); 
      imageArea.add(image1); 
      imageArea.add(image2); 

      mainScrollView.add(viewDetail); 
      mainScrollView.add(view2nd); 

      completeScrollView.add(mainScrollView); 
      win.add(completeScrollView); 

     }, 

     onerror : function(e) { 
      alert('There was an error retrieving the remote data. Please check your internet cunnectivity.'); 
     }, 
     timeout : 45000 
    }); 

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

image1.addEventListener('click', function(evt) {  
      Ti.API.info("image clicked"); 

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

      }); 

但是,如果我創建了一個按鈕進入該網址,然後點擊按鈕的工作..但是當用戶點擊圖片時我需要點擊工作......請幫助。謝謝..

+0

請減少代碼量。我無法在代碼中找到點擊偵聽器。 – 2013-04-10 18:12:13

+0

@VVoo嗨,代碼編輯...點擊監聽器就在ajax完成後... – 2013-04-11 05:16:48

+2

設置視圖的高度:Ti.UI.SIZE。提供背景顏色以檢查您的視圖是否重疊。 – 2013-04-12 05:11:47

回答

2

只需嘗試此代碼。我已設置視圖的高度,並刪除了網絡服務,甚至檢查您的點擊。它的工作正常。

//Titanium.include('commonFile.js'); 

    var win = Ti.UI.currentWindow; 
     win.backgroundColor='black'; 

    // var url = carsDetailUrl + nid; 

    var imageArea = Titanium.UI.createView({ 
     width : 300, 
     top: 50, 
     backgroundColor:'white', 
     height : Ti.UI.SIZE, 
     borderRadius : 6 
    }); 

    var image1 = Ti.UI.createImageView({ 
      image : 'KS_nav_ui.png', 
      left : '8dp', 
      top : '10dp', 
      width : 135, 
      height : 106, 
      backgroundColor:'blue', 
      touchEnabled : 'true', 
      borderColor : '#000000', 
      borderRadius : 6, 
      borderWidth : 1, 
     }); 
    var completeScrollView = Ti.UI.createScrollView({ 
       top : '0dp', 
       left : '0dp', 
       contentWidth : 320, 
       touchEnabled : 'true', 
       borderRadius : 10, 
       // backgroundImage : '../images/bg.png', 
       showHorizontalScrollIndicator : false, 
       showVerticalScrollIndicator : false, 
       height : Ti.UI.SIZE 
      }); 



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

      var viewDetail = Ti.UI.createView({ 
       top : '10dp', 
       left : '10dp', 
       height : 'auto', 
       width : '94%', 
       touchEnabled : 'true', 
       borderRadius : 10, 
       backgroundColor : '#FFFFFF', 
      }); 



     /*var image1 = Ti.UI.createImageView({ 
      image : encodeURI(images[1]), 
      left : '8dp', 
      top : '10dp', 
      width : 135, 
      height : 106, 
      touchEnabled : 'true', 
      borderColor : '#000000', 
      borderRadius : 6, 
      borderWidth : 1, 
     });*/ 

      var image2 = Ti.UI.createImageView({ 
       image :'KS_nav_views.png', 
       left : '150dp', 
       top : '11dp', 
       width : '70dp', 
       height : '50dp', 
       backgroundColor:'green', 
       borderColor : '#000000', 
       borderRadius : 3, 
       borderWidth : 1, 
      }); 

      viewDetail.add(imageArea); 
      imageArea.add(image1); 
      imageArea.add(image2); 

      mainScrollView.add(viewDetail); 
      // mainScrollView.add(view2nd); 

      completeScrollView.add(mainScrollView); 
      win.add(completeScrollView); 




image1.addEventListener('click', function(evt) {  
      Ti.API.info("image clicked"); 

       var newWin = Ti.UI.createWindow({ 
        url : 'newWindow.js', 
        title : 'New Window', 
        tabBarHidden : true, 
        barColor : '#000000', 
        navBarHidden : true, 
        // backgroundImage : "../images/bg.png" 
       }); 
       Titanium.UI.currentTab.open(newWin, { 
        animated : true 
       });