title: Realm Change Listener with RealmResults not being called
body: <p>I'm using Realm 3.0.0 </p>
  
  <p>I'm fetching some objects from Realm and trying to add onChangeListener, but it does not get fired when an object is changed</p>
  
  <p>Here's the code, am I missing something here?</p>
  
  <pre><code> RealmResults&lt;Record&gt; realmResults = RealmManager.recordsDao().loadRecords();
      realmResults.addChangeListener(new RealmChangeListener&lt;RealmResults&lt;Record&gt;&gt;() {
          @Override
          public void onChange(RealmResults&lt;Record&gt; element) {
              for (int i = 0; i &lt; recordList.size(); i++) {
                  if (collection.get(i).getId().equals(recordList.get(i).getId())) {
                      recordList.set(i, collection.get(i));
                      adapter.notifyItemChanged(i);
                  }
  
              }
          }
      });
  </code></pre>
  
  <p>Also as per the docs, it mentions to call <code>invalidateView();
  </code> but even that does not reflect the new data</p>
  
  <p>The change to the object is made in the adapter </p>
  
  <pre><code>public class RecordsAdapter extends RecyclerView.Adapter&lt;RecordsAdapter.ViewHolder&gt; {
  
  private ArrayList&lt;Record&gt; recordList;
  private Context context;
  private Realm realm = Realm.getDefaultInstance();
  
  public RecordsAdapter(ArrayList&lt;Record&gt; recordList, Context context) {
      this.recordList = recordList;
      this.context = context;
  }
  
  @Override
  public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
      View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_records, parent, false);
      return new ViewHolder(v);
  }
  
  
  @Override
  public void onBindViewHolder(ViewHolder holder, int position) {
      holder.batsmanName.setText(recordList.get(position).getName());
      Glide.with(context).load(recordList.get(position).getImage()).diskCacheStrategy(DiskCacheStrategy.SOURCE).into(holder.profilePicture);
      holder.totalRuns.setText("Runs " + recordList.get(position).getTotalScore());
      holder.totalMatches.setText("Matches " +recordList.get(position).getMatchesPlayed());
  
  
      if (recordList.get(position).isFavourite())
          holder.favCheck.setChecked(true);
      else
          holder.favCheck.setChecked(false);
  
  
      holder.favCheck.setOnClickListener(v -&gt; {
          CheckBox checkBox = (CheckBox) v;
          if (checkBox.isChecked()) {
              realm.executeTransaction(realm1 -&gt; {
                  recordList.get(position).setFavourite(true);
                  realm.copyToRealmOrUpdate(recordList);
              });
          } else {
              realm.executeTransaction(realm12 -&gt; {
                  recordList.get(position).setFavourite(false);
                  realm.copyToRealmOrUpdate(recordList);
              });
          }
  
      });
  
  
  }
  </code></pre>