android - Loadmanager onLoadFinished not called -


i trying load data database loadercallbacks. onloadfinished function loadercallbacks not called. can see in log there rowcount of 1 returned list shows no entry onloadfinished not called can see.

seriefragment

      public class seriefragment extends sherlocklistfragment implements             loadercallbacks {          private simplecursoradapter adapter;          @override         public void oncreate(bundle savedinstancestate) {             super.oncreate(savedinstancestate);              string[] = new string[] { dbcontract.episodes.name };             int[] = new int[] { r.id.name };              log.i("loadermanager", "starting...");             getloadermanager().initloader(0, null, this);              adapter = new simplecursoradapter(getactivity(),                     r.layout.serie_list_item, null, from, to, 0);              this.setlistadapter(adapter);         }          @override         public void onviewcreated(view view, bundle savedinstancestate) {          }          @override         public loader oncreateloader(int id, bundle args) {             log.i("loadermanager", "creating loader...");              string[] projection = { dbcontract.episodes._id,                     dbcontract.episodes.name };             cursorloader cursorloader = new cursorloader(this.getactivity(),                     uri.parse(serieprovider.content_uri + "/episodes"), projection,                     null, null, null);             return cursorloader;         }          @override         public void onloadfinished(loader loader, cursor cursor) {             log.i("loadermanager",                     "finished load entry... - cursor: " + cursor.getcount());             adapter.swapcursor(cursor);         }          @override         public void onloaderreset(loader loader) {             log.i("loadermanager", "resetting loader...");             adapter.swapcursor(null);         }  

contentprovider

      public class serieprovider extends contentprovider {          private static databasehelper database;         private static final string provider = "com.drizzlyday.apps.episotron.providers";         private static final string base_path = "serieprovider";         public static final uri content_uri = uri.parse("content://" + provider                 + "/" + base_path);          public static final int series = 1;         public static final int episodes = 2;          private static final urimatcher urimatcher;         static {             urimatcher = new urimatcher(urimatcher.no_match);             urimatcher.adduri(provider, base_path, series);             urimatcher.adduri(provider, base_path + "/episodes", episodes);         }          @override         public boolean oncreate() {             database = new databasehelper(getcontext());             return false;         }          @override         public int delete(uri uri, string selection, string[] selectionargs) {             // todo auto-generated method stub             return 0;         }          @override         public string gettype(uri uri) {             // todo auto-generated method stub             return null;         }          @override         public uri insert(uri uri, contentvalues values) {             // todo auto-generated method stub             return null;         }          @override         public cursor query(uri uri, string[] projection, string selection,                 string[] selectionargs, string sortorder) {              log.d("provider", uri.tostring());             sqlitequerybuilder querybuilder = new sqlitequerybuilder();              int uritype = urimatcher.match(uri);             switch (uritype) {             case series:                 log.d("provider", "series");                 querybuilder.settables(dbcontract.series.table_name);                 break;             case episodes:                 log.d("provider", "episodes");                 querybuilder.settables(dbcontract.episodes.table_name);                 break;             default:                 throw new illegalargumentexception("unknown uri: " + uri);             }              sqlitedatabase db = database.getreadabledatabase();             sqlitecursor cursor = (sqlitecursor) querybuilder.query(db, projection,                     selection, selectionargs, null, null, sortorder);             cursor.setnotificationuri(getcontext().getcontentresolver(), uri);              log.d("provider", "cursor: " + cursor.tostring()                     + " - columncount: " + cursor.getcolumncount()                     + " - rowcount: " + cursor.getcount());              return cursor;         }          @override         public int update(uri uri, contentvalues values, string selection,                 string[] selectionargs) {             // todo auto-generated method stub             return 0;         }  
05-05 23:34:30.855: i/activitythread(31903): pub com.drizzlyday.apps.episotron.providers: com.drizzlyday.apps.episotron.providers.serieprovider 05-05 23:34:31.035: d/serie(31903): new serie fragment 05-05 23:34:31.040: i/loadermanager(31903): starting... 05-05 23:34:31.040: i/loadermanager(31903): creating loader... 05-05 23:34:31.055: d/abslistview(31903): motionrecognitionmanager 05-05 23:34:31.060: d/abslistview(31903): motionrecognitionmanager 05-05 23:34:31.080: d/dalvikvm(31903): gc_concurrent freed 174k, 8% free 12340k/13383k, paused 2ms+2ms, total 16ms 05-05 23:34:31.090: d/provider(31903): content://com.drizzlyday.apps.episotron.providers/serieprovider/episodes 05-05 23:34:31.090: d/provider(31903): episodes 05-05 23:34:31.100: v/slidingmenu(31903): setting padding! 05-05 23:34:31.160: d/libegl(31903): loaded /system/lib/egl/libegl_mali.so 05-05 23:34:31.175: d/libegl(31903): loaded /system/lib/egl/libglesv1_cm_mali.so 05-05 23:34:31.175: d/libegl(31903): loaded /system/lib/egl/libglesv2_mali.so 05-05 23:34:31.180: d/(31903): device driver api match 05-05 23:34:31.180: d/(31903): device driver api version: 10 05-05 23:34:31.180: d/(31903): user space api version: 10  05-05 23:34:31.180: d/(31903): mali: revision=linux-r2p4-02rel0 build_date=tue oct 16 15:37:13 kst 2012  05-05 23:34:31.210: d/openglrenderer(31903): enabling debug mode 0 05-05 23:34:31.215: v/customviewbehind(31903): behind invisible 05-05 23:34:31.260: d/provider(31903): cursor: android.database.sqlite.sqlitecursor@41b0df88 - columncount: 2 - rowcount: 1 

i found problem. had add following line refresh drawable state of list:

this.getlistview().refreshdrawablestate(); 

Comments