Since ArrayList , HashMap and String are Serializable , you can use Bundle.putSerializable and 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"); } }
Also, make sure you call restore from onRestoreInstanceState or onCreate
source share