Millas
22/03/13, 02:04:21
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();
}
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();
}