Android: ¿cómo pasar HashMap entre actividades?

¿Cómo pasar el detail HashMap a otra actividad?

 HashMap detail = new HashMap(); detail.add("name","paresh"); detail.add("surname","mayani"); detail.add("phone","99999"); ...... ...... 

    Esto es bastante simple, todos los objetos de Collections implementan interface Serializable (sp?) Lo que significa que se pueden pasar como extras dentro de la Intent

    Use putExtra(String key, Serializable obj) para insertar el HashMap y en el otro Activity use getIntent().getSerializableExtra(String key) , tendrá que devolver el valor de retorno como HashMap .

    Solución:

    Actividad del remitente:

     HashMap hashMap= adapter.getItem(position); Intent intent = new Intent(SourceActivity.this, DestinationActivity.class); intent.putExtra("hashMap", hashMap); startActivity(intent); 

    Actividad del receptor:

     Intent intent = getIntent(); HashMap hashMap = (HashMap) intent.getSerializableExtra("hashMap"); 

    Una alternativa es si la información es algo que se podría considerar “global” para la aplicación, para luego utilizar la clase Application . Simplemente amplíelo y luego defina su clase personalizada en su manifiesto usando la etiqueta . Sin embargo, use esto con moderación. La necesidad de abusar de ella es alta.

    Lo usé para pasar mi HashMap

     startActivity(new Intent(currentClass.this,toOpenClass.class).putExtra("hashMapKey", HashMapVariable)); 

    y en la actividad de recepción escriba

     HashMap hm = (HashMap) getIntent().getExtras().get("hashMapKey"); 

    porque sé que mi hashmap contiene cadena como valor.

    Aquí estoy mostrando un código de muestra para su referencia. Acabo de probar este código, funciona bien para mí. Mira esto :

    Actividad principal :

      final HashMap hashMap = new HashMap(); hashMap.put(1, "Hi"); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent(MainActivity.this, SecondActivity.class); intent.putExtra("h", hashMap); startActivity(intent); } }); 

    SecondActivity:

     Toast.makeText(SecondActivity.this,"Hi " + getIntent().getSerializableExtra("h").toString(),Toast.LENGTH_SHORT).show();