在Android Studio中通过代码更改ImageView的图像

问题描述 投票:0回答:1

我正在尝试通过代码获取 ImageView 我的 XML 中是这样声明的:

<ImageView
    android:id="@+id/exo_image"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:src="@color/cardview_light_background"/>

我用代码这样设置它:

val bmp = BitmapFactory.decodeFile(mediaItem!!.mediaMetadata.artworkUri!!.path)
view.setImageBitmap(null)
if (bmp != null) {
    view.setImageBitmap(bmp)
    Log.d("TEMPS", bmp.toString())
}

我的 URL 指向保存在我的应用程序数据中的本地文件,要求执行以下操作:

/data/user/0/com.example.euphonia/files/music.zirk.eu/icon/Howling.jpg

我的日志返回以下值:

android.graphics.Bitmap@f241913

我也尝试过直接从URL设置但没有成功

为了检查我的文件是否不正确,我还尝试按以下方式设置位图:

val help = Bitmap.createBitmap(100, 100, Config.ARGB_8888)
for (i in 0..99) {
    for (y in 0..99) {
        help.setPixel(i, y, Color.rgb(45, 127, 0))
    }
}
view.setImageBitmap(help)

但即使这样我的文件仍然没有显示 我还尝试通过调用 invalidate 来使视图无效,但这并没有改变任何东西

如何在 ImageView 中显示图像?

android kotlin android-studio
1个回答
0
投票

确保您将图像设置为正确的 ID。在你的情况下,“exo_image”。您正在使用

view.setImageBitmap(bmp)
。确保“view”指的是“exo_image”

© www.soinside.com 2019 - 2024. All rights reserved.