Persistencia de un menú de contexto tras la rotación de la pantalla

Tengo una actividad que en su método onCreate que hace:

registerForContextMenu (theView);

y en onCreateContextMenu:

super.onCreateContextMenu(menu, v, menuInfo); menu.add(blablabla); 

Esto funciona muy bien, pero el problema es que el menú contextual desaparece cuando gira la pantalla. ¿Cómo arreglar esto?

¡Gracias por leer!

Aquí está la solución:

El contextMenu desapareció porque de forma predeterminada al girar las llamadas android destroy () y luego onCreate () pero :

Si no quieres que Android pase por la actividad normal, destruye y vuelve a crear el proceso; en su lugar, desea manejar la recreación de las vistas usted mismo, puede utilizar los atributos android: configChanges en el elemento en AndroidManifest.xml.

 <activity android:name=".SmsPopupActivity" android:theme="@android:style/Theme.Dialog" android:launchMode="singleTask" android:configChanges="orientation|keyboardHidden" android:taskAffinity="net.everythingandroid.smspopup.popup"> </activity> 

De esta manera my contextMenu no se cierra cuando mi teléfono gira, porque onCreate () método no se llama.

Ver también:

  • Desarrollo de aplicaciones orientadas a la orientación de Android
  • activity-restart-on-rotation-android

Según el blog de desarrolladores de Android:

La clase Activity tiene un método especial llamado onRetainNonConfigurationInstance (). Este método se puede utilizar para pasar un objeto arbitrario a su futuro y Android es lo suficientemente inteligente como para llamar a este método sólo cuando sea necesario. […] La implementación puede resumirse así:

 @Override public Object onRetainNonConfigurationInstance() { final LoadedPhoto[] list = new LoadedPhoto[numberOfPhotos]; keepPhotos(list); return list; } 

En la nueva actividad, en onCreate (), todo lo que tienes que hacer para recuperar tu objeto es llamar a getLastNonConfigurationInstance (). En Photostream, se invoca este método y si el valor devuelto no es nulo, la cuadrícula se carga con la lista de fotos de la actividad anterior:

http://android-developers.blogspot.com/2009/02/faster-screen-orientation-change.html?utm_source=eddie

Puedo estar equivocado, pero por lo que sé que no puede persistir, sin embargo (esta es la parte en la que puede estar equivocado) que podría abrir el menú de forma dinámica después de rotar. Dando la ilusión de persistencia.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.