title: Refreshing MutableLiveData of list of items
body: <p>I'm using LiveData and ViewModel from the architecture components in my app.</p>
  
  <p>I have a list of items that is paginated, I load more as the user scrolls down. The result of the query is stored in a </p>
  
  <pre><code>MutableLiveData&lt;List&lt;SearchResult&gt;&gt;
  </code></pre>
  
  <p>When I do the initial load and set the variable to a new list, it triggers a callback on the binding adapter that loads the data into the recyclerview.</p>
  
  <p>However, when I load the 2nd page and I add the additional items to the list, the callback is not triggered. However, if I replace the list with a new list containing both the old and new items, the callback triggers.</p>
  
  <p>Is it possible to have LiveData notify its observers when the backing list is updated, not only when the LiveData object is updated?</p>
  
  <p>This does not work (ignoring the null checks):</p>
  
  <pre><code>val results = MutableLiveData&lt;MutableList&lt;SearchResult&gt;&gt;()
  
  /* later */
  
  results.value.addAll(newResults)
  </code></pre>
  
  <p>This works:</p>
  
  <pre><code>val results = MutableLiveData&lt;MutableList&lt;SearchResult&gt;&gt;()
  
  /* later */
  
  val list = mutableListOf&lt;SearchResult&gt;()
  list.addAll(results.value)
  list.addAll(newResults)
  results.value = list
  </code></pre>