Как передать ArrayList <HashMap <String, String >> из одной активности в другую

Как я могу передать список массивов из одного действия в другое, список моих массивов показан следующим образом

ArrayList<HashMap<String, String>> 

Solutions Collecting From Web of "Как передать ArrayList <HashMap <String, String >> из одной активности в другую"

Используйте putExtra(String, Serializable) чтобы передать значение в getSerializableExtra(String) Intent и getSerializableExtra(String) для извлечения данных.

Передача ArrayList<HashMap<String, String>> из Activity A в Activity B

 Intent intent = new Intent(this, B.class); HashMap<String, String> hm = new HashMap<String, String>(); hm.put("sunil", "sahoo"); ArrayList<HashMap<String, String>> arl = new ArrayList<HashMap<String, String>>(); arl.add(hm); intent.putExtra("arraylist", arl); startActivityForResult(intent, 500); 

Извлечение данных в Activity B

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

Вы можете использовать Bundle для передачи элементов из одного действия в другое.

Проверьте это: http://developer.android.com/reference/android/os/Bundle.html

Вы создаете Bundle, помещаете его в Intent, а затем в новую активность, получаете его и извлекаете нужные элементы.

Это происходит так:

 Bundle b = new Bundle(); String s = "hello"; b.putString("example", s); intent.putExtras(b); 

А затем на новую деятельность:

 Bundle b = this.getIntent().getExtras(); String s = b.getString("example"); 

Вот еще один метод, я использовал следующую строку для определения ArrayList в firstClass.

 static ArrayList al=new ArrayList(); 

Во втором действии я использовал следующую строку, чтобы получить данные ArrayList из firstClass,

 firstClass.al.size(); 

Моя идея, вы можете определить глобальную статическую переменную для этого набора данных в пакете и сохранить ее сначала, прежде чем перейти к другому действию.