¿Alguien puede decirme cómo usar exactamente getExtra()
y putExtra()
para qué? En realidad, tengo una variable de cadena, digamos str, que almacena algunos datos de cadena. Ahora, quiero enviar estos datos de una actividad a otra actividad.
Intent i = new Intent(FirstScreen.this, SecondScreen.class);
String keyIdentifer = null;
i.putExtra(strName, keyIdentifer );
y luego en SecondScreen.java
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.table);
TextView userName = (TextView)findViewById(R.id.userName);
Bundle bundle = getIntent().getExtras();
if(bundle.getString("strName")!= null)
{
//TODO here get the string stored in the string variable and do
// setText() on userName
}
}
Sé que es una pregunta muy básica, pero desafortunadamente estoy atrapado aquí. Por favor ayuda.
Gracias,
Editar: Aquí la cadena que estoy tratando de pasar de una pantalla a otra es dinámica. Es decir, tengo un editText donde obtengo una cadena cualquiera que sea el tipo de usuario. Luego con la ayuda de myEditText.getText().toString()
. Recibo el valor ingresado como una cadena y luego tengo que pasar estos datos.
android
android-intent
Shaista Naaz
fuente
fuente
Respuestas:
Use esto para "poner" el archivo ...
Luego, para recuperar el valor, intente algo como:
fuente
this.getActivity().getIntent().getExtras()
.primero Screen.java
Second Screen.java
fuente
El mejor método ...
SendingActivity
Recepción de actividad
/// forma más corta de recibir datos ...
// Esto requiere api 12. // el segundo parámetro es opcional. Si keyName es nulo, utilice los
defaultkey
datos como.fuente
Esto es lo que he estado usando, espero que ayude a alguien ... simple y afectivo.
enviar datos
obtener datos
¡salud!
fuente
Es muy fácil de implementar
intent
en Android. Te lleva a pasar de una actividad a otra, tenemos dos métodosputExtra();
ygetExtra();
ahora te estoy mostrando el ejemplo.Ahora tenemos que obtener el valor del
AnyKeyName
parámetro, el código mencionado a continuación ayudará a hacer estoPodemos establecer fácilmente el valor de recepción desde
Intent
donde lo necesitemos.fuente
Un pequeño anexo: no tiene que crear su propio nombre para la clave, Android proporciona estos, f.ex.
Intent.EXTRA_TEXT
. Modificando la respuesta aceptada:fuente
AplicaciónActividad
fuente
Actualización en clase de intención .
hasExtra()
para verificar si la intención tiene datos en la clave.getStringExtra()
directamente.Pase de datos
Obtener datos
Siempre ponga claves en constantes como mejor práctica.
fuente
PutExtraConstants
una interfaz?PutExtraConstants
clase contiene únicas constantes (public
,static
,final
). Por lo tanto, es mejor usar la interfaz para Constantes.Más simple
lado del remitente
lado receptor
fuente
Poner cadena en objeto de intención
NextAcitvity en el método onCreate get String
ese es un método fácil y corto
fuente
enviar
obtener
fuente
poner función
fuente
Empujar datos
El código anterior podría estar dentro del principal
activity
. "MyActivity.class
" es el segundoActivity
que queremos lanzar; debe incluirse explícitamente en suAndroidManifest.xml
archivo.Extraer datos
En este ejemplo, el código anterior estaría dentro de su
MyActivity.java
archivo.Gotchas
Este método solo puede pasar
strings
. Entonces, digamos que necesita pasar unArrayList
a suListActivity
; Una posible solución es pasar una cadena separada por comas y luego dividirla en el otro lado.Soluciones alternativas
Utilizar
SharedPreferences
fuente
Simple, en la primera actividad
En segunda actividad
fuente
En FirstScreen.java
En SecondScreen.java
fuente
poner la cuerda primero
recuperarlo después de eso
eso es todo ;)
fuente
Simplemente puede usar una variable estática para almacenar la cadena de su texto de edición y luego usar esa variable en la otra clase. Espero que esto solucione tu problema
fuente