【问题标题】:Android Image setImageBitmap not working when using glide load image使用滑动加载图像时Android Image setImageBitmap不起作用
【发布时间】:2019-08-20 03:13:45
【问题描述】:

我在使用 Glide 加载图像 android 时遇到问题。我将简单介绍如下: 首先我使用 glide 加载图像 我想使用 Intent.ACTION_PICK 选择图像,但是当我在 onActivityResult 上使用 image.setImageBitmap 但它不起作用

Glide.with(context!!).load(url).centerCrop().error(R.drawable.avata_boy).into(imgAvata)

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)
    if (requestCode == PICK_IMAGE_REQUEST && resultCode == Activity.RESULT_OK
        && data != null && data.data != null
    ) {
        filePath = data.data
        try {
            val bitmap = BitmapFactory.decodeStream(activity!!.contentResolver.openInputStream(filePath!!))
             imgAvata.setImageBitmap(bitmap)
            Glide.with(context!!)
                .load(bitmap)
                .placeholder(R.drawable.avata_boy)
                .diskCacheStrategy(DiskCacheStrategy.NONE)
                .skipMemoryCache(true)
                .into(imgAvata)

        } catch (e: IOException) {
        }

【问题讨论】:

  • 您不必对位图进行“decodeStream”。 Glide 会自动为您完成。 Glide.with(context!!).load(filePath).into(imgAvata);现在让我们讨论实际问题,它会抛出任何错误吗?你检查过文件路径吗?是空的吗??
  • 如果我首先在 onCreate 上通过 Glide 删除加载图像。 imgAvata.setImageBitmap(bitmap) 工作。但是我先通过滑行加载图像它不起作用
  • 但是您在 onActivityResult 上获得了图像位置。我相信您是说 glide 不适用于“onActivityResult”意图数据给出的路径,对吧?

标签: android caching android-glide loadimage


【解决方案1】:

试试这个!!

val myBitmap = BitmapFactory.decodeFile(filePath!!.getAbsolutePath())

            imgview.setImageBitmap(myBitmap)

【讨论】:

  • 不工作。我认为是因为我先使用了滑动加载图像。
猜你喜欢
  • 2016-05-15
  • 1970-01-01
  • 2014-03-03
  • 1970-01-01
  • 2022-01-15
  • 2016-09-04
  • 2013-08-28
  • 1970-01-01
  • 2019-03-15
相关资源
最近更新 更多