2 ответов:
класс HashMap Java расширяет
Serializableинтерфейс, который позволяет легко добавить его в намерении, с помощьюIntent.putExtra(String, Serializable)метод.в activity/service/broadcast receiver, который получает намерение, вы затем вызываете
Intent.getSerializableExtra(String)С именем, которое вы использовали с putExtra.например, при отправке намерениях:
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);и затем в приемном действии:
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")); }
Я надеюсь, что это тоже должно работать.
в направлении деятельности
Intent intent = new Intent(Banks.this, Cards.class); intent.putExtra("selectedBanksAndAllCards", (Serializable) selectedBanksAndAllCards); startActivityForResult(intent, 50000);в приемном действии
Intent intent = getIntent(); HashMap<String, ArrayList<String>> hashMap = (HashMap<String, ArrayList<String>>) intent.getSerializableExtra("selectedBanksAndAllCards");когда я посылаю хэш-карту, как показано ниже,
Map<String,ArrayList<String>> selectedBanksAndAllCards = new HashMap<>();надеюсь, это поможет кому-то.
Comments