O android.os.Message
usa um Bundle
para enviar com seu método sendMessage. Portanto, é possível colocar um HashMap
dentro de um Bundle
?
android
dictionary
bundle
Marcus Toepper
fonte
fonte
Respostas:
tente como:
e na segunda atividade
porque o Hashmap por padrão implementa
Serializable
para que você possa passá-lo usandoputSerializable
no Bundle e entrar em outra atividade usandogetSerializable
fonte
De acordo com o doc ,
Hashmap
implementaSerializable
, então você podeputSerializable
adivinhar. Você experimentou?fonte
Observação: se você estiver usando uma AppCompatActivity, terá que chamar o método
protected void onSaveInstanceState(Bundle outState) {}
( NOTpublic void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {}
).Código de exemplo ...
Armazene o mapa:
E receba em onCreate:
Desculpe se é algum tipo de resposta duplicada - talvez alguém ache útil. :)
fonte
Se você deseja enviar todas as chaves do pacote, você pode tentar
fonte
fonte
Estou usando minha implementação kotlin do Parcelable para conseguir isso e, até agora, ele funciona para mim. É útil se você deseja evitar a serialização pesada.
Também para que funcione, recomendo usá-lo com estes
Declaração
Usar
escrever
ler
Não se esqueça de que se o seu mapa
K,V
não for dividido por padrão, eles devem implementarParcelable
fonte
Em Kotlin:
fonte