Tableview events

You must Login before you can answer or comment on any questions.

I am trying to build an iPad app only using Titanium SDK 2.1.2 on my OSX 10.6.8

Well I am not sure what I have done wrong but I am getting an error: [WARN] Exception in event callback. { line = 24; message = "'undefined' is not an object (evaluating 'navGroup.add')"; name = TypeError; sourceId = 166709120; sourceURL = "file://localhost/Users/sherrie/Library/Application%20Support/iPhone%20Simulator/5.0/Applications/7B599727-3424-4330-9F13-A83EEDED6DE3/UAF_Admissions.app/programs.js"; }

I have a master_list.js which calls the next navigation menu called programs.js which will then call the webviews.

master_list.js

var MASTER_WINDOW = {};
 
(function(){
    var win = Titanium.UI.currentWindow;
    var navGroup = win.navGroup;
    var tableData = [
     Ti.UI.createTableViewRow({title:'Admissions', url:'master_months.js'}),
     Ti.UI.createTableViewRow({title:'Financial Aid', url:'master_days.js'}),
     Ti.UI.createTableViewRow({title:'Degrees and Programs', url:'programs.js'}),
     Ti.UI.createTableViewRow({title:'Galleries', url:'galleries.js'}),
      Ti.UI.createTableViewRow({title:'Viewbook', url:'flipbook.js'})
    ];
 
    /**
    * on click event, fireEvent, detail window is listening
    */
    function tableClick(evt) {
        var newWin = Ti.UI.createWindow({
            title:evt.row.title,
            backgroundColor: '#fff',
            url:evt.row.url
        });
        navGroup.open(newWin);
    }
 
    /**
    * initialize the window
    */
    MASTER_WINDOW.init = function(){
 
        var tableview = Titanium.UI.createTableView({
            data:tableData
        });
        win.add(tableview);     
 
        tableview.addEventListener('click',tableClick);                     
    }
 
})();
MASTER_WINDOW.init();

programs.js

// programs.js
var PROGRAMS = {};
 
(function(){
    var win = Titanium.UI.currentWindow;
    var navGroup = win.navGroup;
    var tableData = [
     Ti.UI.createTableViewRow({title:'Undergraduate majors', url:'undergraduate.js'}),
     Ti.UI.createTableViewRow({title:'Graduate majors', url:'grad.js'}),
     Ti.UI.createTableViewRow({title:'Occupational Endorsements', url:'occupational.js'}),
     Ti.UI.createTableViewRow({title:'Special Training Programs', url:'specialtraining.js'}),
      Ti.UI.createTableViewRow({title:'Pre-Professional', url:'preprofess.js'})
    ];
 
    /**
    * on click event, fireEvent, detail window is listening
    */
    function tableClick(evt) {
        var newWin = Ti.UI.createWindow({
            title:evt.row.title,
            backgroundColor: '#fff',
            url:evt.row.url
        });
        navGroup.open(newWin);
    }
 
    /**
    * initialize the window
    */
    PROGRAMS.init = function(){
 
        var tableview = Titanium.UI.createTableView({
            data:tableData
        });
        win.add(tableview);     
 
        tableview.addEventListener('click',tableClick);                     
    }
 
})();
PROGRAMS.init();

undergraduate.js

// undergraduate.js
var UNDERGRADUATE = {};
 
(function(){
    var win = Titanium.UI.currentWindow;
    var tableData = [
     Ti.UI.createTableViewRow({title:'Accounting', url:'degrees/account.html'}),
     Ti.UI.createTableViewRow({title:'Accounting, Applied', url:'degrees/costs-annual.html'}),
     Ti.UI.createTableViewRow({title:'Accounting Technician', url:'degrees/costs-semester.html'}),
     Ti.UI.createTableViewRow({title:'Airframe'})
    ];
 
    /**
    * on click event, fireEvent, detail window is listening
    */
    function tableClick(evt) {
        var evtData = {
            "row" : evt.index,
            "title": evt.row.title,
            "url" : evt.row.url
        }
        Ti.App.fireEvent('app:rowClicked', evtData);
 
    }
 
    /**
    * initialize the window
    */
    UNDERGRADUATE.init = function(){
 
 
        var tableview = Titanium.UI.createTableView({
            data:tableData
        });
        win.add(tableview);     
 
        tableview.addEventListener('click',tableClick);                     
    }
 
})();
UNDERGRADUATE.init();

Your Answer

Think you can help? Login to answer this question!