public class CustomGalleryView extends FragmentActivity implements LoaderManager.LoaderCallbacks<Cursor>{ private static final int LOADER_ID = 1; private Config config; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.layout_gallery_main); Intent clientIntent = getIntent(); Log.i("INFO", "CustomGalleryView onCreate..."); String windowTitle = clientIntent.getStringExtra(AppConstant.WINDOW_TITLE); if(!TextUtils.isEmpty(windowTitle)) setTitle(windowTitle); int defaultCheckResId = R.drawable.checkbox_up; int defaultCheckedResId = R.drawable.checkbox_selected; int checkboxCheckResId = clientIntent.getIntExtra(AppConstant.CHECKBOX_CHECK_RESOURCE, defaultCheckResId); int checkboxCheckedResId = clientIntent.getIntExtra(AppConstant.CHECKBOX_CHECKED_RESOURCE, defaultCheckedResId); String[] projection = { MediaStore.Images.Media.DATA, MediaStore.Images.Media._ID }; String sortOrder = MediaStore.Images.Media._ID; Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; config = new Config(checkboxCheckResId, checkboxCheckedResId, uri, projection, null, null, sortOrder); getSupportLoaderManager().initLoader(LOADER_ID, null, this); } @Override public Loader<Cursor> onCreateLoader(int arg0, Bundle arg1) { Log.i("INFO", "Loader_id:"+arg0+" onCreateLoader"); CursorLoader cursorLoader = new CursorLoader(this, config.getUri(), config.getProjection(), config.getSelection(), config.getSelectionArgs(), config.getSortOrder()); return cursorLoader; } @Override public void onLoadFinished(Loader<Cursor> arg0, Cursor cursor) { if(cursor != null){ if(cursor.moveToFirst()){ do { String path = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA)); int id = cursor.getInt(cursor.getColumnIndex(MediaStore.Images.Media._ID)); Log.i("INFO", path+":"+id); } while (cursor.moveToNext()); } } } @Override public void onLoaderReset(Loader<Cursor> arg0) { // TODO Auto-generated method stub } }
原文:http://blog.csdn.net/tu_bingbing/article/details/20388233