¿Debe la llamada al método de superclase ser la primera instrucción?
Los resultados de un reconocimiento de voz se pueden leer en el onActivityResult(int requestCode, int resultCode, Intent data)
, como se muestra en este ejemplo . Este método reemplaza al mismo método en la clase Activity
: ¿por qué la llamada al método de superclase no es la primera?
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == VOICE_RECOGNITION_REQUEST_CODE && resultCode == RESULT_OK) { // Fill the list view with the strings the recognizer thought it could have heard // ... } super.onActivityResult(requestCode, resultCode, data); }
- Mide la vista en el fragmento
- ¿Qué sucede si startActivity () se llama a la actividad ya creada?
- ¿Cómo puedo saber que onCreateView ha sido llamado desde una clase externa?
- Guardar el estado cuando se pulsa el botón Atrás
- ¿Por qué se llama a mi onResume dos veces?
- IllegalStateException: Fragmento ya agregado en el fragmento tabhost
- Android DialogFragment desaparece después del cambio de orientación
- Acceso a la clase de aplicación en Broadcast Receiver
- Evitar que la actividad sea destruida tanto como sea posible
- Cuándo usar y cuándo no utilizar un servicio en Android
- ¿Puede algunos dibujar el ciclo de vida de Fragment y su FragmentActivity padre?
- Cómo recuperar el paquete onSaveInstanceState () en onResume ()?
- OnCreate () vs OnStart ()
Métodos que reemplazar que son parte de la creación de componentes ( onCreate()
, onStart()
, onResume()
, etc), debe encadenar a la superclase como la primera declaración, para asegurarse de que Android tiene su oportunidad de hacer su trabajo antes de que Intentar hacer algo que se basa en que el trabajo que se ha hecho.
Métodos que anulas que son parte de la destrucción de componentes ( onPause()
, onStop()
, onDestroy()
, etc.), deberías hacer tu trabajo primero y encadenar a la superclase como la última cosa. De esta forma, en caso de que Android limpie algo de lo que depende su trabajo, habrá hecho su trabajo primero.
Métodos que devuelven algo distinto de void
( onCreateOptionsMenu()
, etc.), a veces se encadena a la superclase en la instrucción return, suponiendo que no está haciendo específicamente algo que necesite forzar un determinado valor de retorno.
Todo lo demás – como onActivityResult()
– depende de usted, en general. Tiendo a encadenar a la superclase como la primera cosa, pero a menos que usted esté funcionando en problemas, encadenamiento más adelante debe ser fino.
Porque generalmente desea realizar los eventos exclusivos de su actividad anulada antes de pasar el control de copia de seguridad de la jerarquía de clases. Tenga en cuenta que no siempre es el caso. A veces, debe poner las llamadas en primer lugar, como en las devoluciones de llamada que suceden cuando se inicializa la aplicación, y es posible que desee ponerlos en último lugar para los eventos que suceden cuando se destruye la aplicación para que pueda limpiar primero.
En general, aunque no importa y si lo hace se mencionará en el SDK – he corrido en lo mencionado algunos lugares en el SKD (creo en la documentación relativa a los diálogos), pero no puedo recordar exactamente lo que Página / sección está encendido.
Hay una discusión más detallada sobre el tema aquí: http://groups.google.com/group/android-developers/browse_thread/thread/9ddb2b06c21c8457
- Poner un objeto en el mensaje de Handler
- Prueba de interfaz de usuario de Robotium para la aplicación con el cajón de navegación