Quantcast
Channel: Appcelerator Developer Center Q&A Unanswered Questions 20
Viewing all articles
Browse latest Browse all 8068

tableview not updating after searching

$
0
0

Hi

I am trying to implement a search function in titanium.What i am doing that after user enter some text in search bar it retrieves that data on that basis but the problem what i am facing is that the content gets downloaded fine but table does not get updated properly.i know i am doing something very stupid but cant figure out.here goes my code plz search with bulls keyword

var self = Ti.UI.createWindow({
    backgroundColor : 'white',
    title : 'Programs'
});
var search = Titanium.UI.createSearchBar({
    barColor : 'black',
    showCancel : false,
    hintText : 'Search'
});
search.addEventListener('change', function(e) {
    // search string as user types
});
search.addEventListener('return', function(e) {
    getResult(self, tableview, e.value);
    search.blur();
});
search.addEventListener('cancel', function(e) {
    search.blur();
});
 
// create table view
var tableview = Titanium.UI.createTableView({
    search : search
});
self.add(tableview);
//Titanium.App.Properties.setInt('row','');
 
// create table view event listener
tableview.addEventListener('click', function(e) {
 
});
 
// add table view to the window
self.add(tableview);
self.addEventListener('android:back', function(e) {
    self.close();
});
self.open();
 
function getResult(self, jsonTable, search) {
    var tableData = [];
    var myfontsize = (Titanium.Platform.displayCaps.platformHeight * 3) / 100;
    var customFont = 'MyriadHebrew-Regular';
    var url = 'http://www.sportscrunch.com/api/v1/search/?search=' + search + '&format=json';
    Ti.API.info('Search url  ' + url);
    var xhr = Ti.Network.createHTTPClient({
        onload : function(e) {
            var results = JSON.parse(this.responseText);
            Ti.API.error(results.teams.length);
            for (var i = 0; i < results.teams.length; i++) {
                var teams = results.teams[i].label;
                Ti.API.info(teams);
                tableData = [];
                jsonTable.setData([]);
                //  var players = results.players[i].label;
                var row = Ti.UI.createTableViewRow({
                    height : '65dp',
                    width : Ti.UI.FILL
                });
 
                var imageView = Ti.UI.createImageView({
                    //      image : result.thumb,
                    width : Ti.UI.SIZE,
                    height : Ti.UI.SIZE,
                    left : '1dp',
                    top : '1dp'
                });
 
                var labTitle = Ti.UI.createLabel({
                    color : 'black',
                    font : {
                        fontSize : myfontsize,
                        fontWeight : 'bold'
                    },
                    height : Ti.UI.SIZE,
                    textAlign : 'center',
                    text : teams,
                    top : '2%',
                    width : Ti.UI.FILL
                });
 
                row.add(imageView);
                row.add(labTitle);
                tableData.push(row);
            }
            jsonTable.setData(tableData);
        },
        onerror : function(e) {
            Ti.API.debug(e.error);
        },
        timeout : 5000
    });
 
    xhr.open("GET", url);
    xhr.send();
}
Thanks

Viewing all articles
Browse latest Browse all 8068

Trending Articles



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