Quantcast
Viewing all articles
Browse latest Browse all 8068

Unable To Bind addEventListener To Table

Problem: I want to attatch a addEventListener To Table ( eventslisttable ) after it has been created from the downloaded JSON feed.

Table is created fine how ever no click event is picked up.

My Table is called eventslisttable under win2 tab

var xhr = Ti.Network.createHTTPClient({
        onload : function() {
            // Ti.API.debug(this.responseText);
            console.log("Start " + jsonpservice + " JSON");
            console.log(this.responseText);
 
            //move this
            var IMG_BASE = 'http://mobileweb/common/trafficicons/';
 
            var parseddata = JSON.parse(this.responseText);
 
            for (var i = 0; i < parseddata.jsonp.length; i++) {
 
                console.log("Row " + i + " ");
                var TYPE = parseddata.jsonp[i].dataitem.TYPE;               
                var DESCRIPTOR_VALUE = parseddata.jsonp[i].dataitem.DESCRIPTOR_VALUE;
                var DESCRIPTOR_VALUE2 = parseddata.jsonp[i].dataitem.DESCRIPTOR_VALUE2;
 
                var row = Ti.UI.createTableViewRow({
                    className : 'forumEvent', // used to improve table performance
                    selectedBackgroundColor : 'white',
                    rowIndex : i, // custom property, useful for determining the row during events
                    height : 110,
                    hasChild : true
                });
 
                var imageAvatar = Ti.UI.createImageView({
                    image : IMG_BASE + TYPE + '.gif',
                    left : 10,
                    top : 5,
                    width : 50,
                    height : 50
                });
                row.add(imageAvatar);
 
                var labelDesc = Ti.UI.createLabel({
                    color : '#576996',
                    font : {
                        fontFamily : 'Arial',
                        fontSize : defaultFontSize + 6,
                        fontWeight : 'bold'
                    },
                    text : DESCRIPTOR_VALUE,
                    left : 70,
                    top : 6,
                    width : 200,
                    height : 30
                });
                row.add(labelDesc);
 
 
                var labelDesc2 = Ti.UI.createLabel({
                    color : '#576996',
                    font : {
                        fontFamily : 'Arial',
                        fontSize : defaultFontSize + 6,
                        fontWeight : 'bold'
                    },
                    text : DESCRIPTOR_VALUE2,
                    left : 70,
                    top : 6,
                    width : 200,
                    height : 30
                });
                row.add(labelDesc2);
 
            }
            table.setData(tableData);
            eventslisttable.setData(table);
 
            eventslisttable.addEventListener('click', function(e) {
                var clickedRowData = e.rowData;
                var clickedRow = e.row;
                var controlArray = clickedRowData.getChildren();
                var currentSwitch = controlArray[1];
                Titanium.API.debug(currentSwitch.value);
                // -- Get switch state.
                Titanium.API.debug(clickedRowData.fn);
                // --Get field name.
                console.log("Clicked " + clickedRowData.fn);
            });
 
            jsoninprogress = 0;
        },
        onerror : function(e) {
            Ti.API.debug("STATUS: " + this.status);
            Ti.API.debug("TEXT:   " + this.responseText);
            Ti.API.debug("ERROR:  " + e.error);
            jsoninprogress = 0;
            alert('There was an error retrieving the remote data. Try again.');
        },
        timeout : 5000
    });
    xhr.open("GET", url);
    xhr.send();

Viewing all articles
Browse latest Browse all 8068

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>