1

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

4

4 回答 4

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);

        }
}

希望现在你很清楚

于 2011-01-12T10:06:48.717 回答
0

默认情况下,在方向更改时,活动会被销毁并重新创建,因此如果您在创建时设置第一个位图,然后在其他位置更改为第二个位图,则当方向更改时,第一个图像会在 onCreate 中设置,但如果更改图像的代码不会再次调用,然后图像不会改变。

于 2011-01-12T10:07:47.913 回答
0

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

于 2017-05-16T10:21:07.727 回答
0

我在将屏幕纵向更改为横向图像隐藏时遇到问题。我在下面的活动中使用 AndroidManifest.xml 中的行我的问题已解决

 android:configChanges="orientation|screenSize"
于 2018-10-16T10:50:11.420 回答