我在我的例子中使用ImageView。 我将图片设置为xml 中imageview的背景。现在我想在运行时更改Imageview的这个图像背景。
这是我的java代码。
changeImage()
{
ImageView imgview=(ImageView)findViewById(R.id.imageView1);
imgview.setImageResource(R.drawable.headerhindi);
}
我从 onCreate()调用此方法。第一次我的方法工作正常。但是当我使用startActivity(myActivityIntent)再次重定向到我的活动onCreate()时;此方法无法正常工作意味着图像不会根据此方法更改。默认情况下,会显示以xml设置的图像。
请帮我找出解决方案。 提前谢谢。
答案 0 :(得分:1)
如何重定向到您的活动onCreate
?
如果您的活动已在运行,则会跳过onCreate
并直接转到Started
州。
您可能希望将changeImage()
移动到onStart()
方法,该方法会在创建和恢复时被调用。
您可以在此处查看完整说明:Managing the Activity Lifecycle
※onStart()
和onResume()
之间的主要区别在于,onStart()
在活动变为可见之前调用onResume()
。{ / em>的
答案 1 :(得分:1)
尝试将通话移至changeImage()
至onResume()
。
我还没有对它进行过测试,但我感觉发生的事情是当你再次呼叫startActivity()
再次启动活动时,活动没有被销毁,所以onCreate()
不再被调用根据活动生命周期:
http://developer.android.com/images/activity_lifecycle.png。只是预感。