title: Custom adapter notifyDataSetChanged() causes ArrayIndexOutOfBoundsException
body: <p>I have a notifications listview.And I need to refresh listview content with short intervals. But when I call notifyDataSetChanged() there is no exception until scroll bottom. After scroll bottom it throws  ArrayIndexOutOfBoundsException. There is my code:</p>
  
  <pre><code>@Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
         setContentView(R.layout.activity_notification);
         init();
         runOnUiThread(new Runnable() {
             public void run() {
                 adapter.notifyDataSetChanged();
                 notificationsListView.postDelayed(this, 1000);
                 Log.i("Checking", "...");
             }
         });
     }
  </code></pre>
  
  <p>Adapter.java</p>
  
  <pre><code>public class NotificationsListViewAdapter extends BaseAdapter {
     RealmResults&lt;myNotification&gt; notifications;
     Context context;
     public NotificationsListViewAdapter(Context context, RealmResults&lt;myNotification&gt; notifications){
         this.context = context;
         this.notifications = notifications;
     }
     @Override
     public int getCount() {
         Log.e("NOT SIZE ADAPTER COUNT", String.valueOf(notifications.size()));
         return notifications.size();
     }
  
     @Override
     public myNotification getItem(int position) {
         return notifications.get(position);
     }
  
     @Override
     public int getViewTypeCount() {
         Log.e("NOT SZE ADPTR VT COUNT", String.valueOf(notifications.size()));
         return notifications.size();
     }
  
     @Override
     public int getItemViewType(int position) {
  
         return position;
     }
  
     @Override
     public long getItemId(int position) {
         return 0;
     }
  
     @Override
     public View getView(int position, final View convertView, ViewGroup parent) {
         View notificationsRowView = convertView;
  
         // i am not posting getView() it is 400 row code and im sure error is not coming from getView()
  
         return notificationsRowView;
     }
  }
  </code></pre>
  
  <p>Btw init function;</p>
  
  <pre><code>void init(){
       realm = Realm.getDefaultInstance();
       notifications = realm.where(myNotification.class).findAllSorted("messageID",Sort.DESCENDING);
       notificationsListView = (ListView) findViewById(R.id.notificationActivity_notificationsListView);
       adapter = new NotificationsListViewAdapter(NotificationActivity.this,notifications);
       notificationsListView.setAdapter(adapter); 
  }
  </code></pre>