Как отправить значение hashmap в другое действие с помощью намерения



Как отправить HashMap значение от одного намерения ко второму намерению?



кроме того, как получить это HashMap значение во втором задании?

552   2  

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

    Ничего не найдено.