Guardar el mapa ArrayList of Hash

En mi aplicación quiero guardar datos en savedInstanceState() . Quiero guardar ArrayList<HashMap<String,String>> . Y hasta ahora no puedo hacer eso. Aquí está mi código que me está molestando

 @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putParcelableArrayList("places", (ArrayList<? extends Parcelable>) places); } 

Método restore ()

 private void restore(Bundle savedInstanceState) { // TODO Auto-generated method stub //What should i do here! i have try many things but none of them is helping } 

Dado que ArrayList , HashMap y String son Serializable , puede utilizar Bundle.putSerializable y Bundle.getSerializable

 @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putSerializable("places", places); } private void restore(Bundle savedInstanceState) { if (savedInstanceState != null) { places = (ArrayList<HashMap<String,String>>) savedInstanceState.getSerializable("places"); } } 

Además, asegúrese de que está llamando a restore from onRestoreInstanceState o onCreate

Digamos que tengas

  ArrayList< HashMap< String,String>> arr = new ArrayList< HashMap< String,String>> (); @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putParcelableArrayList("places", (ArrayList< ? extends Parcelable>) arr); } @Override protected void onRestoreInstanceState(Bundle savedInstanceState) { ArrayList<HashMap<String,String>> a = (ArrayList<HashMap<String,String>>)savedInstanceState.get("places"); /*for(int i =0; i< a.size(); i++){ HashMap<String,String> map = a.get(i); for(String s : map.keySet()){ Log.d("log",s+" :: "+map.get(s)); } }*/ } 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.