SerIEFragment
public class SerIEFragment extends SherlockListFragment implements LoaderCallbacks { private SimpleCursorAdapter adapter; @OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); String[] from = new String[] { DBContract.Episodes.name }; int[] to = new int[] { R.ID.name }; Log.i("LoaderManager","Starting..."); getLoaderManager().initLoader(0,null,this); adapter = new SimpleCursorAdapter(getActivity(),R.layout.serIE_List_item,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); 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); }
内容提供商
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[] 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,selection,selectionArgs,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[] 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.SerIEProvIDer05-05 23:34:31.035: D/SerIE(31903): New SerIE fragment05-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): Get MotionRecognitionManager05-05 23:34:31.060: D/AbsListVIEw(31903): Get MotionRecognitionManager05-05 23:34:31.080: D/dalvikvm(31903): GC_CONCURRENT freed 174K,8% free 12340K/13383K,paused 2ms+2ms,total 16ms05-05 23:34:31.090: D/ProvIDer(31903): content://com.drizzlyday.apps.episotron.provIDers/serIEprovIDer/episodes05-05 23:34:31.090: D/ProvIDer(31903): Episodes05-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.so05-05 23:34:31.175: D/libEGL(31903): loaded /system/lib/egl/libGLESv1_CM_mali.so05-05 23:34:31.175: D/libEGL(31903): loaded /system/lib/egl/libGLESv2_mali.so05-05 23:34:31.180: D/(31903): Device driver API match05-05 23:34:31.180: D/(31903): Device driver API version: 1005-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 005-05 23:34:31.215: V/CustomVIEwBehind(31903): behind INVISIBLE05-05 23:34:31.260: D/ProvIDer(31903): Cursor: androID.database.sqlite.sqliteCursor@41b0df88 - Columncount: 2 - Rowcount: 1解决方法 我发现了这个问题.必须添加以下行来@R_718_6419@的可绘制状态:
this.getListVIEw().refreshDrawableState();总结
以上是内存溢出为你收集整理的android – Loadmanager onLoadFinished没有调用全部内容,希望文章能够帮你解决android – Loadmanager onLoadFinished没有调用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)