title: RecyclerView doesn't update the UI after data changed
body: <p>I am new in android development, after make a network request trying to update item view in the <code>RecyclerView</code> control without scrolling it. As far as I understand items gets refreshed during scroll via <code>onBindViewHolder</code> event.here is the code. Using <code>notifyItemChanged</code> method to update UI but it doesn't work until user scroll.</p>
  
  <p>Note : <code>favoriteMatches</code> is not my data source. It is another list of objects which stores user favorites,
  inside <code>onBindViewHolder</code> event I am cheking if item is <code>favoriteMatches.contains(match)</code> then render as fav item.</p>
  
  <pre><code>call.enqueue(new Callback&lt;AddRemoveFavoriteRequest.Response&gt;() {
          @Override
          public void onResponse(Call&lt;AddRemoveFavoriteRequest.Response&gt; call, Response&lt;AddRemoveFavoriteRequest.Response&gt; response) {
              AddRemoveFavoriteRequest.Response body = response.body();
              Utilities.dismissProgressDialog(getActivity(),progressBar);
  
              if(body.error == null){
                  if(add){
                      favoriteMatches.add(matchId);
                  }
                  else {
                      favoriteMatches.remove(matchId);
                  }
  
                  adapter.notifyItemChanged(absolutePosition);
                  Preferences.getDefaultPreferences().edit()
                          .putStringSet(Preferences.PREF_FAVORITES,favoriteMatches)
                          .apply();
  
              }else{
                  Utilities.showSnackBar(getActivity(),recyclerView,body.error);
              }
         }
  
         @Override
         public void onFailure(Call&lt;AddRemoveFavoriteRequest.Response&gt; call, Throwable t) {
               t.printStackTrace();
               Utilities.dismissProgressDialog(getActivity(),progressBar);
  
          }
  });
  </code></pre>