title: notifyDataSetChanged not updating ListView
body: <p>I've read all the posts about this issue but I still can't get my ListView to update.
  I am extending ListActivity.
  Here's my ArrayAdapter:</p>
  
  <pre><code> public List&lt;String&gt; songs = new ArrayList&lt;String&gt;();    
   public ArrayAdapter&lt;String&gt; allsongs;
  
  @Override
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
  
      allsongs = new ArrayAdapter&lt;String&gt;(this,
              R.layout.song_items, songs);
  
   BindAllSongs();        
   ListView listView=getListView();
      registerForContextMenu(listView);
   }
  </code></pre>
  
  <p>now, when I delete a file I want the ListView to update:</p>
  
  <pre><code>@Override
  public boolean onContextItemSelected(MenuItem item) {
      AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
      switch (item.getItemId()) {
          case R.id.delete_file:
              File file = new File(Environment.getExternalStorageDirectory().getPath() + "/AudioStreamRecorder/" + getListView().getAdapter().getItem(info.position).toString());
              file.delete();
  
              runOnUiThread(new Runnable() {
                  public void run() {
                      allsongs.notifyDataSetChanged();    
                  }
              });
  
              return true;
          case R.id.cancel:
  
              return true;
          default:
              return super.onContextItemSelected(item);
      }
  }
  </code></pre>
  
  <p>In my BindAllSongs(); method:</p>
  
  <pre><code>public void BindAllSongs() {
   ...
   ...
  setListAdapter(allsongs);
      }
  </code></pre>
  
  <p>This works great (the files are being deleted from sd card) but the list never updates. When I navigate away, then return to the ListView, the item is gone.  (Returning to the ListView calls BindAllSongs(); again.)
  Thank you for any help, if you need more information let me know.</p>