|
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
|
||||
|
||||
recuperar nombre ingresado en otra activity
buenas
estoy mas menos recien empezando a programar para android. Estoy intentado hace una aplicacion y no puedo hacer que al empezar una activity, para pedir un nombre al usuario y que al presionar en un boton "agregar", pueda desde la activite que la llamo, lograr obtener ese nombre ingresado. Buscando he llegado al metodo starActivityForResult(), por lo que entendi, es como para indicar cuando termine la activity se llama al metodo onActivityResult(), pero sigo sin saber como hacer para pasar el nombre ingresado de una activity a otra |
|
#2
|
||||
|
||||
Buenos días.
Si lo que quieres es pasar parámetros de una actividad a otra, lo tienes que meter como parámetros del intent al que llamas la nueva actividad. Este seria un ejemplo: En la 1ª activity, cuando vas a llamar a la segunda actividad ------------------ String sCadena = "Hola"; Intent intent = new Intent(); intent.setClass(getApplicationContext(), SegundaActividad.class); intent.putExtra("Nombre_parametro", sCadena); startActivityForResult(intent, Codigo_Retorno); En la 2ª activity, para recuperar el valor del parámetro ------------------ Intent intent = getIntent(); Bundle todosParametros = intent.getExtras(); String sParametroObtenido = ""; sParametroObtenido .setText(todosParametros.getString("Nombre_paramet ro")); Espero que quede claro, y si tienes cualquier duda, pregunta y busca mucha información en Internet, que hay mucha créeme. Un saludo. |
#3
|
||||
|
||||
Hola, que tal?
Quieres que una actividad llame a otra y esta ingrese unos datos de usuario y se cierre. (para eso hay dialog entre otras cosas, pero si vas a tener muchas de esas ventanas yo prefiero hacer una activity, me resulta mas ordenado que llenar las actividades de dialogs) estas variables ponlas en las dos actividades: int REGISTRO=1; int REGISTRADO=10; int SIN_DATOS=0; La actividad principal llamara a la secundaria mas o menos así: intent = new Intent(PrincipalActivity.this, SecundariaActivity.class); intent.putExtra("opcion", REGISTRO); startActivityForResult(intent, REGISTRO); La secundaria recibe los datos en el oncreate: Bundle reicieveParams = getIntent().getExtras(); final int opcion=reicieveParams.getInt("opcion"); tienes "opcion" que te dirá quien llamo a la actividad secundaria. haces lo que tenga que hacer la secundaria obteniendo los datos de usuario y contraseña (por ejemplo) String usuario= "pablo"; String contraseña = "123456" después cuando termine de obtener esos datos tendrás que devolver los datos, para esto creamos un métodos que llamaremos returnToCaller. Llama al método al final del proceso de obtención de datos con el resultado que sea: returnToCaller(SIN_DATOS); o returnToCaller(REGISTRO); El método sera algo así: private void returnToCaller(int opcion){ Intent intent = new Intent(); if (opcion==SIN_DATOS){ setResult(SIN_DATOS,intent); onDestroy(); } else if (opcion==REGISTRADO){ intent.putExtra("usuario", usuario); intent.putExtra("contraseña", contraseña ); setResult(REGISTRADO,intent); onDestroy(); } Este método cierra la actividad secundaria y... manda los datos a la principal que los recibirá en el método: @Override public void onActivityResult(int requestCode, int resultCode, Intent data){ super.onActivityResult(requestCode, resultCode, data); switch (requestCode){ case SIN_DATOS: if (resultCode == SIN_DATOS) { ... } break; case REGISTRADO: if (resultCode == REGISTRADO) { Bundle reicieveParams = data.getExtras(); String usuario = reicieveParams.getString("usuario"); String contraseña = reicieveParams.getString("contraseña"); } break; default: break; } } Haz pruebas mira los resultados que mandan y responden las actividades, esto se entiende haciéndolo, nada más. No probé este código míralo. Para los datos de registro de usuario, contraseña, etc se puede hacer de otro modo. Son datos importantes que tienen que quedar mucho tiempo, no perderse al terminar la actividad etc, para eso hay las SharedPreferences. public static final String PREFERENCIAS_USUARIO = "Su nombre"; //String public static final String PREFERENCIAS_CONTRASENA = "contraseña"; //String Mucho mejor. Suerte ;) |
#4
|
||||
|
||||
gracias por las respuestas
@truxky, lo que yo queria hacer era en el otro sentido, recuperar informacion de una activity, me enrede mucho en explicar XD @Celtium: esto es lo que queria hacer, ya lo he probado y me funciona hace tiempo que tenia este problema y era re simple XD |
Estás aquí | ||||||
|