Wie sende HashMap
ich einen Wert von einer Absicht zur zweiten Absicht?
Wie kann dieser HashMap
Wert in der zweiten Aktivität abgerufen werden ?
Wie sende HashMap
ich einen Wert von einer Absicht zur zweiten Absicht?
Wie kann dieser HashMap
Wert in der zweiten Aktivität abgerufen werden ?
Antworten:
Die HashMap-Klasse von Java erweitert die Serializable
Schnittstelle, wodurch es einfach ist, sie mithilfe der Intent.putExtra(String, Serializable)
Methode einer Absicht hinzuzufügen .
In dem Aktivitäts- / Dienst- / Rundfunkempfänger, der die Absicht empfängt, rufen Sie dann
Intent.getSerializableExtra(String)
mit dem Namen auf, den Sie mit putExtra verwendet haben.
Zum Beispiel beim Senden der Absicht:
HashMap<String, String> hashMap = new HashMap<String, String>();
hashMap.put("key", "value");
Intent intent = new Intent(this, MyOtherActivity.class);
intent.putExtra("map", hashMap);
startActivity(intent);
Und dann in der empfangenden Aktivität:
protected void onCreate(Bundle bundle) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
HashMap<String, String> hashMap = (HashMap<String, String>)intent.getSerializableExtra("map");
Log.v("HashMapTest", hashMap.get("key"));
}
Ich hoffe das muss auch funktionieren.
in der Sendeaktivität
Intent intent = new Intent(Banks.this, Cards.class);
intent.putExtra("selectedBanksAndAllCards", (Serializable) selectedBanksAndAllCards);
startActivityForResult(intent, 50000);
in der empfangenden Aktivität
Intent intent = getIntent();
HashMap<String, ArrayList<String>> hashMap = (HashMap<String, ArrayList<String>>) intent.getSerializableExtra("selectedBanksAndAllCards");
Wenn ich eine HashMap wie folgt sende,
Map<String, ArrayList<String>> selectedBanksAndAllCards = new HashMap<>();
Hoffe es würde jemandem helfen.