studio sola samsung rotación rotacion reinicie que porque pantalla movil manejando grados girar gira evitar como celular bloquear activity android bitmap imageview screen-orientation

sola - Android Imageview muestra el mapa de bits anterior después de que la pantalla gira



porque no gira la pantalla de mi celular (1)

Supongo que está configurando la primera imagen de su ImageView en el método onCreate o onStart de su actividad.

Al girar la pantalla, los métodos onCreate y onStart se vuelven a llamar y, por lo tanto, su ImageView vuelve a mostrar la primera imagen.

Para guardar su estado de actividad, eche un vistazo a esto: http://developer.android.com/reference/android/app/Activity.html#SavingPersistentState

Esta podría ser una posible solución:

Bitmap image = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); image = (Bitmap) getLastNonConfigurationInstance(); if(bitmap == null){ image = downloadImage(); } setImage(bitmap); } @Override public Object onRetainNonConfigurationInstance() { return bitmap; }

También puedes leer este método cuando uses fragmentos:

Fragment.setRetainInstance

O el paquete: (onSaveInstanceState (Bundle) también está disponible en tu actividad)

//Save it onSaveInstanceState: @Override public void onSaveInstanceState(Bundle toSave) { super.onSaveInstanceState(toSave); toSave.putParcelable("bitmap", bitmap); } //nd get it back onCreate: @Override public void onCreate(Bundle savedState) { super.onCreate(savedState); if (savedState != null) bitmap = savedState.getParcelable("bitmap"); }

Se supone que mi aplicación primero muestra una imagen, cuando se presiona un botón, se muestra otra imagen en la vista de la imagen. Sin embargo, cuando se gira la pantalla, imageView muestra la imagen anterior. ¿Cómo debo arreglar esto? (bits es el mapa de bits cargado en imageView en create)

Mi código está abajo:

RGBToBitmap(rgb.getWindow(), bits); //this loads a new image into bits imageView.setImageBitmap(bits);