Я хочу сохранить/восстановить при изменении ориентации экземпляр List<Contact>
для ListView
; Contact
- это элемент для отображения в пользовательском адаптере массива.
Я сохраняю Список, лежащий в основе адаптера, в методе onSaveInstanceState(Bundle savingInstanceState)
:
savingInstanceState.putSerializable(""+R.id.contactList, (Serializable)adapter.contacts());
Затем в onRestoreInstanceState(Bundle savedInstanceState)
я восстанавливаю и устанавливаю адаптер:
List<Contact> contacts =
(List<Contact>)savedInstanceState.getSerializable(""+R.id.contactList);
ContactListAdapter adapter =
new ContactListAdapter((Context)this, android.R.layout.simple_list_item_1, contacts);
contactList.setAdapter(adapter);
adapter.notifyDataSetChanged();
Правильно ли это сделать?
У вас есть лучшее/более разумное решение?
Спасибо