Estoy intentando enviar un hashmap entre actividades, pero siempre es nulo.
Código de envío:
public HashMap <Integer, Integer> pickedPick = new HashMap <>();
Intent intent = new Intent(this, CharPick.class);
intent.putExtra("hashMap", pickedPick);
startActivity(intent);
Código de recepción:
Intent intent = getIntent();
pickedPick = (HashMap <Integer, Integer>) intent.getSerializableExtra("hashMap");
Donde lo uso y obtengo el NPE antes de intentar devolverlo:
if (pickedPick != null && pickedPick.keySet().contains(clicked)){
pickedPick.remove(clicked);
pickedPick.put(clicked, picked);
} else if (pickedPick != null) {
pickedPick.put(clicked, picked);
}
intent.putExtra("hashMap", pickedPick);
startActivity(intent);
Ese es el único lugar donde estamos agregando datos en el hashmap y no funciona, porque el hashmap siempre se considera nulo. No tengo idea de qué hace que permanezca nulo.
Respuestas
0 para la respuesta № 1Su sentencia else se ejecuta solo cuando el objeto pickPick es nulo. Así que estás recibiendo la NPE.