Android:无法在运行时更改ImageView

时间:2013-01-08 00:50:51

标签: android

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

这是我的java代码。

 changeImage()

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

我从 onCreate()调用此方法。第一次我的方法工作正常。但是当我使用startActivity(myActivityIntent)再次重定向到我的活动onCreate()时;此方法无法正常工作意味着图像不会根据此方法更改。默认情况下,会显示以xml设置的图像。

请帮我找出解决方案。 提前谢谢。

2 个答案:

答案 0 :(得分:1)

如何重定向到您的活动onCreate

如果您的活动已在运行,则会跳过onCreate并直接转到Started州。
您可能希望将changeImage()移动到onStart()方法,该方法会在创建和恢复时被调用。

enter image description here

您可以在此处查看完整说明:Managing the Activity Lifecycle

onStart()onResume()之间的主要区别在于,onStart()在活动变为可见之前调用onResume()。{ / em>的

答案 1 :(得分:1)

尝试将通话移至changeImage()onResume()

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

enter image description here http://developer.android.com/images/activity_lifecycle.png。只是预感。