单击Titanium ImageView时,单击事件不起作用

时间:2013-04-10 09:31:51

标签: titanium titanium-mobile

我正在开发适用于iphone的移动网络应用。我从网络服务获取数据的地方。 问题是我的图片视图不适用于点击事件。我不知道原因...... 请帮忙...我发布了我的代码...

    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
                });

            });

但是,如果我创建一个按钮来转到该网址然后按钮点击工作......但是当用户点击图片时我需要点击工作...请帮忙。感谢..

1 个答案:

答案 0 :(得分:2)

试试这段代码吧。我已设置视图高度并删除了webservices以检查您的点击。它的工作正常。

//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
                });