我正在使用imageView来显示图像。之后我使用imageView.setImage(bitmap)
为视图设置了不同的图像。现在,如果我将屏幕的方向从纵向更改为横向,则imageview将显示旧图像而不是我设置的新图像。谁能告诉我为什么会这样,以及如何克服这一点。
答案 0 :(得分: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);
}
}
希望现在很清楚
答案 1 :(得分:0)
默认情况下,在方向更改时,活动会被销毁并重新创建,因此如果您在create上设置第一个位图,然后在其他位置更改为第二个位图,则在方向更改时,第一个图像将在onCreate中设置但是如果代码如果没有再次调用图像,则图像不会改变。
答案 2 :(得分:0)
在清单中使用android:configChanges="orientation"
是一种不好的做法。
This是处理方向更改的推荐方法。
答案 3 :(得分:0)
我在更改屏幕肖像以隐藏图像时遇到问题。我在AndroidManifest.xml中的行中使用了以下问题,
android:configChanges="orientation|screenSize"