title: Exception on notifyDataSetChanged even using runonuihread
body: <p>I have a list view which is populated asynchronously from http responses</p>
  
  <p>Even using <code>CopyOnWriteArrayList</code> and <code>calling runOnUiThread</code>, I am still getting this exception</p>
  
  <pre><code>07-21 16:20:56.390: E/AndroidRuntime(2003): FATAL EXCEPTION: main
  07-21 16:20:56.390: E/AndroidRuntime(2003): java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but only from the UI thread. [in ListView(2131034172, class android.widget.ListView) with Adapter(class android.widget.ArrayAdapter)]
  </code></pre>
  
  <p>The code I am using is,</p>
  
  <pre><code>onRandomAddEventFromRemoteEnd(){
      if (!deviceNames.contains(name)) {
          deviceNames.add(name);
          runOnUiThread(notifyAdapterDataChanged);
      }
  }
  </code></pre>
  
  <p>where <code>deviceNames</code> is a <code>CopyOnWriteArrayList</code> and <code>notifyAdapterDataChanged</code> is the Runnable</p>
  
  <pre><code>Runnable notifyAdapterDataChanged = new Runnable() {
  
          @Override
          public void run() {
              dummyAdapter.notifyDataSetChanged();
  
          }
      };
  </code></pre>