gpt4 book ai didi

java - 屏幕旋转后 ImageView setImageBitmap 不更新

转载 作者:行者123 更新时间:2023-11-30 02:45:56 25 4
gpt4 key购买 nike

我正在开发一个简单的 Android 应用程序,它在单独的线程中下载图像,然后在主 Activity 中更新 imageViews。它工作完美,但是当我在下载时旋转屏幕时,imageView 不再随图像更新。

这是更新 imageView 的 UI 线程中的代码:

public void setImage(Bitmap bat, int view) {

Log.d("main", pic1.getDrawable().toString());

switch (view) {
case 1:

Log.d("main", bat.toString());

pic1.setImageBitmap(bat);

Log.d("main", pic1.getDrawable().toString());

break;
case 2:
pic2.setImageBitmap(bat);
break;
}

我在日志中尝试调试它。当我下载而不旋转时它可以工作。当我轮换时,我的日志会告诉我:

07-30 03:29:59.380: D/main(3658): android.graphics.drawable.BitmapDrawable@42357908
07-30 03:29:59.390: D/main(3658): android.graphics.Bitmap@423af618
07-30 03:29:59.390: D/main(3658): android.graphics.drawable.BitmapDrawable@423afb20

很明显 imageView 可绘制对象正在改变,但是屏幕保持不变。我想也许在这个方法中尝试使用 (ImageView)findViewById(R.id.imageView1); 再次找到 imageView,这样即使在旋转屏幕,但这并没有什么不同。

为什么我的屏幕上的图像没有更新?

最佳答案

Why isn't the image updating on my screen?

首先,当你旋转它时你仍然在下载那个图像,在幕后它正在做的是当你旋转你的屏幕时你正在重新创建 Activity 并且它应该破坏前一个但是因为你仍然在下载完成时有 ImageView 的引用,它将从不在新重新创建的 Activity 中的最后一个 Activity 更新 imageView。

关于java - 屏幕旋转后 ImageView setImageBitmap 不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25031159/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com