1

imageViewを使用して画像を表示しています。後で、を使用して別の画像をビューに設定してimageView.setImage(bitmap)います。画面の向きを縦向きから横向きに変更すると、imageviewには、設定した新しい画像ではなく古い画像が表示されます。誰かがこれが起こる理由とこれを克服する方法を教えてもらえますか?

4

4 に答える 4

2

向きを変えると、通常、アクティビティが再作成されます(onCreate()を呼び出します)。
両方の方向にxmlが1つしかない場合は、これを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

By default on orientation change the activity is destroyed and recreated, so if you set the first bitmap on create, and then change to the second bitmap elsewhere, when the orientation changes the first image is set in the onCreate but if the code that changes image isn't called again then the image doesn't change.

于 2011-01-12T10:07:47.913 に答える
0

Using android:configChanges="orientation" in the manifest is a bad practice. This is the recommended way to handle the orientation change.

于 2017-05-16T10:21:07.727 に答える
0

I had a problem while changing the screen portrait to landscape the image is hide .I used the line in AndroidManifest.xml in activity below my problem was solved

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