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
Post a Comment