0

我在我的示例中使用 ImageView。我在 xml 中将 Images 设置为 imageview 的背景。现在我想在运行时更改 Imageview 的这个图像背景。

这是我的java代码。

 changeImage()

       {
       ImageView imgview=(ImageView)findViewById(R.id.imageView1);
       imgview.setImageResource(R.drawable.headerhindi);
       }

我从onCreate()调用这个方法。我的方法第一次效果很好。但是当我使用 startActivity(myActivityIntent) 再次重定向到我的活动 onCreate(); 此方法无法正常工作意味着图像不会根据此方法更改。默认显示在 xml 中设置的图像。

请帮我找出解决方案。先感谢您。

4

2 回答 2

1

你如何重定向到你的活动onCreate

如果您的活动已经在运行,它会跳过onCreate并直接进入该Started状态。
您可能希望将您changeImage()onStart()方法移至在创建和恢复时调用的方法。

在此处输入图像描述

你可以在这里看到完整的解释:管理活动生命周期

onStart()※和之间的主要区别在于onResume()onStart()在活动可见之前调用,而onResume()在之后调用。

于 2013-01-08T00:56:21.873 回答
1

尝试将呼叫changeImage()移至onResume()

我还没有测试过它,但我有一种感觉,发生的事情是当你再次调用startActivity()启动活动时,活动还没有被销毁,所以onCreate()不会根据活动生命周期再次调用:

在此处输入图像描述http://developer.android.com/images/activity_lifecycle.png。不过只是预感。

于 2013-01-08T00:56:40.177 回答