【问题标题】:Fetching all the gallery images and showing in android app获取所有画廊图像并在 android 应用程序中显示
【发布时间】:2020-04-13 05:39:50
【问题描述】:

我正在从图库中获取所有图像并将其显示在我的 Android 应用程序中。

在 onCreate 中初始化: supportLoaderManager.initLoader(IMAGE_LOADER_ID, null, this)

第一个问题:

在上述初始化中,supportLoaderManager 现在已被弃用。那么有什么办法呢?

其次, 我正在使用下面的代码来获取图像:

override fun onCreateLoader(id: Int, args: Bundle?): Loader<Cursor> {

    val uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI
    val projection =
        arrayOf(MediaStore.MediaColumns.DATA, MediaStore.Images.Media.BUCKET_DISPLAY_NAME)
    val selection: String? = null     //Selection criteria
    val selectionArgs = arrayOf<String>()  //Selection criteria
    val sortOrder: String? = MediaStore.Images.Media.DEFAULT_SORT_ORDER

    return CursorLoader(
        applicationContext,
        uri,
        projection,
        selection,
        selectionArgs,
        sortOrder
    )
}

这里的图片是随机排列的。那么有人可以帮我整理图片吗?

【问题讨论】:

标签: android kotlin


【解决方案1】:

工作了一会儿,我换了:

val sortOrder: String? = MediaStore.Images.Media.DEFAULT_SORT_ORDER

与:

val sortOrder: String? = MediaStore.Images.Media.DATE_MODIFIED

而且效果很好。 此外,为了以相反的顺序添加项目,我在 0 位置添加了元素,例如:

while (it.moveToNext()) {
    listOfAllImages.add(0, it.getString(columnIndexData))

    binding.RVGalleryImages.layoutManager =
        LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false)

    binding.RVGalleryImages.adapter =
        this.let { CreateFeedGalleryAdapter(it, listOfAllImages) }
}

我面临的唯一问题是此代码已被弃用,我需要一种新方法来完成此任务。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多