Android加载器加载本地图片
2016-05-04 14:37
453 查看
参数:
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
// ——————————————————------------------加载器的实现方法------------------------------------------
@Overridepublic Loader<Cursor> onCreateLoader(int id, Bundle args) {
return new CursorLoader(this, MediaStore.Images.Media.EXTERNAL_CONTENT_URI, STORE_IMAGES, null, null, null);}@Overridepublic 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])));}}@Overridepublic void onLoaderReset(Loader<Cursor> loader) {simpleCursorAdapter.swapCursor(null);}private class ImageLoaderBinder implements SimpleCursorAdapter.ViewBinder {@Overridepublic boolean setViewValue(View view, Cursor cursor, int columnIndex) {
// 如果要使用系统默认的设置方法,直接return false;如果自定义设置View,需要return true。return false;}}
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories