2013-10-04 3 views
1

У меня есть ArrayList следующего типа:Insterting ArrayList на Bundle

ArrayList<HashMap<String, String>> data 

Я пытающегося передать это data к Bundle я не нашел какой-либо метод для осуществления этого. Ближайшим я пришел к этому:

putParcelableArrayList 

может кто-нибудь помочь?

ответ

3

ArrayList являются Сериализуемые (а также HashMaps и струнных), поэтому постарайтесь putExtra(String, Serializable) передать значение в Intent и getSerializableExtra(String) метод для извлечения данных.

пропускания ArrayList<HashMap<String, String>> от активности А на активность В

Intent intent = new Intent(this, B.class); 
HashMap<String, String> hm = new HashMap<String, String>(); 
hm.put("key", "value"); 
ArrayList<HashMap<String, String>> arl = new ArrayList<HashMap<String, String>>(); 
arl.add(hm); 
intent.putExtra("data", arl); 
startActivity(intent); 

Получить данные, как показано ниже в следующей деятельности

ArrayList<HashMap<String, String>> arl = (ArrayList<HashMap<String, String>>) getIntent().getSerializableExtra("data"); 
System.out.println("serialized data.."+arl); 
+0

спасибо :) Я заметил, что вы тоже пытались помочь в моем прежний вопрос. Спасибо чувак! –

0

Я думаю, вы пытаетесь передать данные ч/б деятельности. Вы можете сделать что-то вроде этого

Sender

ArrayList<HashMap<String, String>> arl = new ArrayList<HashMap<String, String>>(); 
intent.putExtra("orderlist", arl); 

Ресивер

Intent intent = getIntent(); 
ArrayList<HashMap<String,String>> list = (ArrayList<HashMap<String, String>>) intent.getSerializableExtra("orderList"); 
Смежные вопросы