【已解决】 加载媒体库使用LoadManager.initLoader应用崩溃
private fun initLoaderManage() {
mImagesItems.clear() //先清理一次
var instance = getInstance(this)
instance.initLoader(LOADER_ID, null, object : LoaderCallbacks<Cursor> {
//获取图片数据
override fun onCreateLoader(id: Int, args: Bundle?): Loader<Cursor> {
if (id == LOADER_ID) {
return CursorLoader(
this@SelectImageActivity, MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
arrayOf("_data,_display_name,date_added"), null, null, "date_added DESC"
)
}
return null!!
}
override fun onLoadFinished(loader: Loader<Cursor>, data: Cursor?) {
//获取完成
if (data != null) {
val columnNames = data.columnNames
while (data.moveToNext()){
//在这里获取链接
mImagesItems.add(ImageItem(data.getString(0),data.getString(1),data.getLong(2)))
}
}
data!!.close()
for(image in mImagesItems){
Log.d(TAG,image.toString())
}
}
override fun onLoaderReset(loader: Loader<Cursor>) {
}
})
}

您的每一个用心回答,都会让这个世界变得更美好一些!