title: Replace ArrayAdapter's dataset
body: <p>In Android, you can provide an <code>ArrayList</code> when creating an <code>ArrayAdapter</code> for a <code>ListView</code>. I need to update a number of items in the <code>ArrayList</code>. </p>
  
  <p>The ususal way is to just call <code>notifyDatasetChanged</code>. What I prefer to do is reload the entire data into a new <code>ArrayList</code> from my database and then apply this new <code>ArrayList</code> to the existing <code>ArrayAdapter</code> but without creating a new adapter. Creating a new adapter will cause the <code>ListView</code> to go blank and start with position zero. This would also be obvious if the user were scrolling and I suddenly recreated a new adapter. </p>
  
  <p>Is it possible to apply a completely new <code>ArrayList</code> to the existing adapter? The primary reason I want to do this is because it is very fast to just reload a new <code>ArrayList</code> with all the data than having to go through an existing <code>ArrayList</code> and inserting, deleting or updating existing items.</p>