1

我正在使用imageView来显示图像。后来我使用imageView.setImage(bitmap)为视图设置了不同的图像。现在,如果我将屏幕的方向从纵向更改为横向,imageview将显示旧图像而不是我设置的新图像。有人可以告诉我为什么会发生这种情况,以及如何克服这种情况。改变屏幕方向的图像视图的奇怪行为

回答

2

正常情况下,当你改变你的方向时,活动将重新创建(调用onCreate())。
如果你有两个方向只有一个XML,你可以在清单文件由
1.将阻止此活动作为android:configChanges="orientation"

<activity android:name=".Youractivityname" 
     android:configChanges="orientation"/> 

2.然后在我们的活动类中重写此

public class Youractivityname extends Activity { 

    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
      // all your codes 
     } 

    @Override 
     public void onConfigurationChanged(Configuration newConfig) { 
      super.onConfigurationChanged(newConfig); 

     } 
} 

希望现在你很清楚

+0

对不起,但我不明白这是如何有用。我需要在这种方法做什么。你可以请给我更多的细节 – chethan 2011-01-12 10:52:04

+0

检查,我已编辑它 – 2011-01-12 11:02:00

0

默认情况下,在方向改变时,活动被破坏并重新创建,所以如果你设置了第一个位图创建,并且t如果在onCreate中设置第一个图像的方向改变,但是如果改变图像的代码没有再次调用,那么图像不会再改变。

0

在清单中使用android:configChanges="orientation"是一种不好的做法。 This是处理方向更改的推荐方法。