概述
参数:
MediaStore.Images.Media.BUCKET_ID, // 直接包含该图片文件的文件夹ID,防止在不同下的文件夹重名MediaStore.Images.Media.BUCKET_DISPLAY_NAME, // 直接包含该图片文件的文件夹名
MediaStore.Images.Media.DISPLAY_NAME, // 图片文件名
MediaStore.Images.Media.DATA, // 图片绝对路径
private static final String[] STORE_IMAGES = {
MediaStore.Images.Media.DISPLAY_NAME,
MediaStore.Images.Media.DATA,
MediaStore.Images.Media.BUCKET_DISPLAY_NAME,
MediaStore.Images.Media._ID,
}; // 定义要查询的图片信息
simpleCursorAdapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_2, null, STORE_IMAGES, new int[]{android.R.id.text1, android.R.id.text2}, 0); // 设置ListView的Adapter(系统的也可自定义)
getSupportLoaderManager().initLoader(0, null, this); // 初始化加载器simpleCursorAdapter.setViewBinder(new ImageLoaderBinder()); // Adapter绑定视图lv_main.setAdapter(simpleCursorAdapter); // ListView绑定Adapter// ——————————————————------------------加载器的实现方法------------------------------------------@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {return new CursorLoader(this, MediaStore.Images.Media.EXTERNAL_CONTENT_URI, STORE_IMAGES, null, null, null);
}
@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
simpleCursorAdapter.swapCursor(data);while (data.moveToNext()) {Log.e("TAG0", data.getString(data.getColumnIndex(STORE_IMAGES[0])));}
Log.e("TAG1", data.getString(data.getColumnIndex(STORE_IMAGES[1])));
Log.e("TAG2", data.getString(data.getColumnIndex(STORE_IMAGES[2])));
Log.e("TAG3", data.getString(data.getColumnIndex(STORE_IMAGES[3])));
}
@Override
public void onLoaderReset(Loader<Cursor> loader) {
simpleCursorAdapter.swapCursor(null);
}
private class ImageLoaderBinder implements SimpleCursorAdapter.ViewBinder {
@Override
public boolean setViewValue(View view, Cursor cursor, int columnIndex) {// 如果要使用系统默认的设置方法,直接return false;如果自定义设置View,需要return true。
return false;
}
}
最后
以上就是缓慢小鸭子为你收集整理的Android加载器加载本地图片的全部内容,希望文章能够帮你解决Android加载器加载本地图片所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复