无法从ImageView中获取Bitmap作为BitmapDrawable

时间:2019-11-02 13:11:27

标签: android kotlin picasso android-bitmap

在我的Android-Kotlin应用程序中,我试图从图像中提取位图以使用它的colorPallete,这是我的ImageView文件中的XML

        <ImageView
            android:id="@+id/dressImage_1"
            android:layout_width="142dp"
            android:layout_height="123dp"
            android:contentDescription="@string/app_name"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:srcCompat="@drawable/icon" />

这是我向其中添加图片的方式:

Picasso.get().load(dress.image1).into(mDressImage1)

一切顺利。

注意dress.image1返回URL

此后,当我尝试通过这种方式从bitmap中获取imageView时:

        val bitmap = (mDressImage1?.drawable as BitmapDrawable).bitmap

它只是崩溃了。 logcat

一无所有

更新 它给了我错误null cannot be cast to non-null type android.graphics.drawable.BitmapDrawable

指向val bitmap = (mDressImage1?.drawable as BitmapDrawable).bitmap

1 个答案:

答案 0 :(得分:1)

这应该可以解决您的问题:

val bitmap = (mDressImage1?.drawable as? BitmapDrawable)?.bitmap