0

以下のようにいくつかのimageViewsを作成しています。

// Time buttons
    var timeButtons =[
        { title: 'Afternoon', path: 'images/others/time/afternoon.png'},
        { title: 'CurrentTime', path: 'images/others/time/currenttime.png'},
        { title: 'Evening', path: 'images/others/time/evening.png'}
    ]


createButtons(timeButtons);


/* Button creation function */
function createButtons(data){

    for (var i = 0; i < data.length; i++){
        //Creating each button
        var button  = Titanium.UI.createImageView({
            image:  data[i].path,
            height: 90,
            width: 90,
            top: 20+90*i+20*i,
            value: 1
        });

        //Adding the buttons to the center view
        centerButtons.add(button);
    }
}

ここで、ユーザーがいずれかのimageViewをクリックしたときに、クリックしたimageViewを識別し、それに応じて何かを実行したいと思います。

4

2 に答える 2

2

imageView にパラメータを追加できます。IDかそこらのように。追加のパラメーターを使用した例を次に示します。

for (var i = 0; i < data.length; i++){
    //Creating each button
    var button  = Titanium.UI.createImageView({
        _id: i,    // Your custom parameter
        image:  data[i].path,
        height: 90,
        width: 90,
        top: 20+90*i+20*i,
        value: 1
    });

    //Adding the buttons to the center view
    centerButtons.add(button);
}

新しいパラメータを使用して imageView を識別することができます。

centerButtons.addEventListener('click', function(event)
{
    // Perhaps you should check here if the custom parameter ( _id ) exist.

    switch(event.source._id){
        case 0:
            // Your stuff with you first image
            break;
        // etc.
    }
});
于 2012-12-09T12:36:14.803 に答える
1
centerButtons.addEventListener('click', function(evt) {
    alert(evt.source.image);
});
于 2012-12-07T17:28:13.163 に答える