title: Android. How does notifyDataSetChanged() method and ListViews work?
body: <p>I am trying to understand the <code>ListView</code> concept and how it works and I'm trying to create my own adapter which extends <code>BaseAdapter</code>. For <code>ArrayAdapter</code> for instance, there is the <code>notifyDataSetChanged()</code> method which should be called after you've updated the array list which holds all your data, in order to refresh the <code>ListView</code>. </p>
  
  <p>But I am creating my own subclass of <code>BaseAdapter</code>. That method is not available to me, or is it? How do i implement this method? Basically, what does that method do exactly, maybe I'll understand then.</p>
  
  <p>In case of the <code>ArrayAdapter</code> i'm guessing it looks at what position the <code>ListView</code> is currently displaying and it checks if it's the same one as in the <code>ArrayList</code> after it was updated? Or...</p>
  
  <p>It says that the method:</p>
  
  <blockquote>
    <p>Notifies the attached observers that the underlying data has been
    changed and any View reflecting the data set should refresh itself.</p>
  </blockquote>
  
  <p>But how exactly does it refresh itself?</p>
  
  <p>Can someone explain please?</p>