Android – 保存/恢复ListView适配器的正确方法是什么?

我想要保存/恢复,改变一个ListViewList<Contact>实例; Contact是要在自定义arrays适配器中显示的项目。

我保存适配器底层的List 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(); 

这是做正确的方法吗?

你有更好/更聪明的解决scheme吗?

谢谢

Solutions Collecting From Web of "Android – 保存/恢复ListView适配器的正确方法是什么?"