|
||
|
|
|
|||||||
| Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
![]() |
|
|
Herramientas |
|
#1
|
||||
|
||||
|
onActivityResult antes de tiempo
Hola, no llevo mucho con android.. pero cada día me sale una traba nueva. El tema es que estoy intentando pasar a una clase un objeto de una actividad.. vamos.. comunicación entre actividades. Y resulta que el método onActivityResult de la primera actividad se ejecuta antes que la segunda actividad.. por tanto no devuelve nada.. a ver si alguien me puede ayudar.
Os dejo un poco de código: Primera actividad: public void lanzarUsuarios(View view) { Intent i = new Intent(this, ListaUsuarios.class); this.startActivityForResult(i,0); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { Bundle extras = data.getExtras(); switch (requestCode) { case 0: usuarioActual = (Usuario) extras.get("usuario"); lanzarSalones(null); break; } } Segunda actividad: public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) { // TODO Auto-generated method stub Usuario usuario = (Usuario) lista.getItemAtPosition(position); Log.w(TAG, "ID = "+ usuario.getIDUsuario() + "; Nombre = " +usuario.getNombre()); Intent dato = new Intent(); dato.putExtra("usuario", usuario); setResult(RESULT_OK, dato); finish(); } |
|
|
|
#2
|
||||
|
||||
|
Buenas,
Por lo que veo en el código pasas parámetros entre actividades. Puedes probar en trabajar con "shared preferences" y seguramente no te dará problemas. De esta manera es como si tuvieras una variable global a la que siempre puedes acceder desde cualquier activity. Bueno espero que te ayude. Un saludo. |
|
#3
|
||||
|
||||
|
Buenas,
Por lo que veo en el código pasas parámetros entre actividades. Puedes probar en trabajar con "shared preferences" y seguramente no te dará problemas. De esta manera es como si tuvieras una variable global a la que siempre puedes acceder desde cualquier activity. Bueno espero que te ayude. Un saludo. ![]() Es como atributos estáticos!? Gracias |
|
#4
|
||||
|
||||
|
No pinta mal.. pero en mi programa hay una constante comunicación con una base de datos externa, y creo que para algunas cosas me va a interesar la comunicación de actividades si o si.. mas que nada por cómo tengo montando las vistas y tal..
¿Alguna solución a que OnActivityResult no se ejecute antes de tiempo!? |
|
#5
|
||||
|
||||
|
¿Cómo tienes definida la actividad ListaUsuarios en el AndroidManifest.xml? Por lo visto si la defines como singleTask o singleInstance no puedes llamar al startActivityForResult (no tendría mucho sentido y por eso devuelve el no-resultado enseguida).
Fuente: http://stackoverflow.com/questions/3...ed-prematurely
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
|
|
#6
|
||||
|
||||
|
¿Cómo tienes definida la actividad ListaUsuarios en el AndroidManifest.xml? Por lo visto si la defines como singleTask o singleInstance no puedes llamar al startActivityForResult (no tendría mucho sentido y por eso devuelve el no-resultado enseguida).
Fuente: http://stackoverflow.com/questions/3...ed-prematurely ![]() Lo cambie porque al principio no me iba y entonces probé cosas raras.. pero ya está!! Muchisimas gracias de todas formas!! ^^ ![]() ![]() ![]() ![]() Tema cerrado |
![]() |
Estás aquí
|
||||||
|
||||||