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