parse.com - ParseQueryAdapter for Android doesn't call its onLoaded method -


i'm trying customize parsequeryadapter , implement caching. try cache results in onloaded method of adapter, problem is, neither onloading nor onloaded gets called @ seen in logcat. when trying implement 2 methods directly in actual activity called, not when implementing them in separate adapter class.

this code:

public class songbookadapter extends parsequeryadapter<song> implements parsequeryadapter.onqueryloadlistener<song> {      private static string username = "username";     private static string pin_label_songs = "songs";     public context context;      public songbookadapter(final context context, final parseuser organizer) {         super(context, new parsequeryadapter.queryfactory<song>() {             public parsequery<song> create() {                 parsequery<song> query = parsequery.getquery(song.class);                 query.whereequalto(username, organizer.get(username));                  // if internet down, query cache in local datastore                 if(!methods.isonline(context)) {                     query.frompin(pin_label_songs);                 }                  return query;             }         });          this.context = context;          log.i("songbookadapter", "songbookadapter created");     }      @override     public view getitemview(song song, view v, viewgroup parent) {         ...     }      @override     public void onloading() {         log.i("songbookadapter", "onloading called");     }      @override     public void onloaded(final list<song> songs, exception e) {         log.i("songbookadapter", "onloaded called");         if(e == null) {             log.i("songbookadapter", "loading songs in adapter successful");             // if have internet connection, cache results in local datastore             if(methods.isonline(context)) {                 cacheresults(songs);             }         } else {             // went wrong             log.e("songbookadapter", "loading songs in adapter failed");             e.printstacktrace();         }     } 

logcat:

w/keycharactermap﹕ no keyboard id -1 w/keycharactermap﹕ using default keymap: /system/usr/keychars/qwerty.kcm.bin d/songbookadapter﹕ songbookadapter created d/dalvikvm﹕ gc_for_malloc freed 1074k, 47% free 4858k/9095k, external 3496k/4366k, paused 20ms i/dalvikvm-heap﹕ grow heap (frag case) 11.465mb 844153-byte allocation d/dalvikvm﹕ gc_for_malloc freed <1k, 43% free 5682k/9927k, external 3496k/4366k, paused 60ms d/dalvikvm﹕ gc_for_malloc freed 1491k, 48% free 5166k/9927k, external 3119k/3895k, paused 15ms d/dalvikvm﹕ gc_for_malloc freed 515k, 43% free 5675k/9927k, external 3119k/3895k, paused 16ms i/dalvikvm-heap﹕ grow heap (frag case) 11.895mb 844153-byte allocation d/dalvikvm﹕ gc_for_malloc freed 0k, 40% free 6500k/10759k, external 3119k/3895k, paused 15ms d/dalvikvm﹕ gc_external_alloc freed 1017k, 50% free 5483k/10759k, external 3119k/3895k, paused 22ms d/szipinf﹕ initializing inflate state 

am missing something? why don't onloading , onloaded called @ all?

appreciate help!

found answer question - had forgotten add onqueryloadlistener in constructor. correct constructor therefore:

public songbookadapter(final context context, final parseuser organizer) {     super(context, new parsequeryadapter.queryfactory<song>() {         public parsequery<song> create() {             parsequery<song> query = parsequery.getquery(song.class);             query.whereequalto(username, organizer.get(username));              // if internet down, query cache in local datastore             if(!methods.isonline(context)) {                 query.frompin(pin_label_songs);             }              return query;         }     });      this.context = context;      // forgot     addonqueryloadlistener(this);      log.i("songbookadapter", "songbookadapter created"); } 

Comments

Popular posts from this blog

javascript - Google App Script ContentService downloadAsFile not working -

javascript - Function overwritting -

php - Find a regex to take part of Email -