Das android.os.Message
verwendet a Bundle
, um mit seiner sendMessage-Methode zu senden. Ist es daher möglich, ein HashMap
Inside a zu setzen Bundle
?
android
dictionary
bundle
Marcus Toepper
quelle
quelle
Antworten:
versuchen als:
und in der zweiten Aktivität
da Hashmap standardmäßig implementiert ist,
Serializable
sodass Sie es mitputSerializable
in Bundle übergeben und mit anderen Aktivitäten ausführen könnengetSerializable
quelle
Nach dem doc ,
Hashmap
implementiertSerializable
, so kann man ,putSerializable
denke ich. Hast Du es versucht ?quelle
Bitte beachten Sie: Wenn Sie eine AppCompatActivity verwenden, müssen Sie die
protected void onSaveInstanceState(Bundle outState) {}
( NOTpublic void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {}
) -Methode aufrufen .Beispielcode ...
Speichern Sie die Karte:
Und erhalten Sie es in onCreate:
Tut mir leid, wenn es sich um eine doppelte Antwort handelt - vielleicht findet es jemand nützlich. :) :)
quelle
Wenn Sie alle Schlüssel im Bundle senden möchten, können Sie es versuchen
quelle
quelle
Ich benutze meine Kotlin-Implementierung von Parcelable, um dies zu erreichen, und bisher funktioniert es für mich. Es ist nützlich, wenn Sie die schwere Serialisierbarkeit vermeiden möchten.
Auch damit es funktioniert, empfehle ich, es mit diesen zu verwenden
Erklärung
Verwenden
schreiben
lesen
Vergessen Sie nicht, dass Ihre Karte
K,V
implementiert werden muss , wenn sie nicht standardmäßig parzelliert istParcelable
quelle
In Kotlin:
quelle