Intent.putExtra (String, Bundle) vs Intent.putExtra (Bundle)
Esta pregunta puede sonar estúpido, pero yo wana saber ¿Cuándo ponemos el nombre de la actividad en Intent.putExtra()
? En un caso estamos poniendo más sólo con el paquete y en otro caso lo estamos pasando con el nombre de la clase. Estoy un poco confundido ¿debemos utilizar Intent.putExtra(String, Bundle)
ya hemos pasado el nombre de la actividad en el constructor de Intent
o no?
¡Gracias por tu ayuda!
- GetLocationOnScreen () vs getLocationInWindow ()
- Java: Cómo compartir código de aplicación / UI común entre varias aplicaciones
- ACRA vs Android Developer error de error de la consola
- Cómo enviar texto a través de formularios mediante JSoup
- Análisis de la cadena JSON en android
- Qué cosas se ejecutan en el hilo principal de la interfaz de usuario al abrir una aplicación para Android
- La mejor manera de administrar las dependencias de Android Gradle
- Cómo solucionar el error: No se pudo encontrar el método onClick (View) en un padre o ancestro Contexto para android: onClick
- Toast Stop - getConnectedNodes
- Excepción extraña: no se puede emitir cadena a booleano cuando se utiliza getBoolean
- Serialización Gson dependiendo del valor del campo
- Acceso puntero nulo: los datos variables sólo pueden ser nulos en este lugar
- Android - Cómo evitar el código duplicado entre actividades
Creo que quiere decir putExtra(String, Bundle)
vs putExtras(Bundle)
(con s ).
El primero agrega el paquete como el valor de la clave que proporciona. El paquete es un valor de objeto simple.
El segundo agrega todos los pares clave / valor del paquete proporcionado a la intención. En este caso, el contenido del paquete se añadirá a la intención, no al propio paquete.
Piense en ellos como en el interfaz del Map
:
Map.put(String key, Object value)
Vs
Map.putAll(Map anotherMap)
Mira el código fuente http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.4_r1.2/android/content/Intent.java#Intent.putExtras% 28android.os.Bundle% 29
El enfoque es sólo la diferencia aquí. Si utiliza un Bundle
puede almacenar casi todos los tipos en él:
Bundle mBundle = new Bundle(); mBundle.put(key, value);
Y pasarlo a una actividad
mIntent.putExtras(mBundle);
Y en la otra actividad que recibe la información, apenas asga el contenido del paquete como esto:
Bundle extras = getIntent().getExtras();
Y agarrar cada elemento en el bundle
como este:
extras.getString("myKey")
- Instalar MonoDevelop / Xamarin studio 4.0.8 Gtk # versión 2.12.16
- Android.content.res.Resources $ NotFoundException