1

私はiPhone用のモバイルWebアプリに取り組んでいます。Web サービスからデータを取得した場所。問題は、画像ビューがクリック イベントに対して機能しないことです。理由がわかりません...助けてください...コードを以下に投稿します...

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

            });

しかし、そのURLに移動するボタンを作成し、ボタンをクリックすると動作します...しかし、ユーザーが画像をクリックしたときに動作するようにクリックする必要があります...助けてください。ありがとう..

4

1 に答える 1