title: RecyclerView refreshes items only when scrolling down and up
body: <p>I am making a simple recyclerview with Movie items. When I try adding new items they won't display in the recyclerview right away. For some reason I have to scroll down so the first item is gone, and then up again for the new item to be displayed (it's added at index 0). </p>
  
  <p>The adapter:</p>
  
  <pre><code>public class MovieCardAdapter extends RecyclerView.Adapter&lt;MovieCardAdapter.MovieViewHolder&gt; {
  List&lt;Movie&gt; movieList;
  
  public MovieCardAdapter(final List&lt;Movie&gt; movieList) {
      this.movieList = movieList;
  }
  
  public void addItem(int position, final Movie movie){
      movieList.add(position,movie);
      notifyItemInserted(position);
  }
  
  public void removeItem(final Movie movie){
      final int indexOf = movieList.indexOf(movie);
      movieList.remove(movie);
      notifyItemRemoved(indexOf);
  }
  
  public void updateItems(final List&lt;Movie&gt; items){
      movieList = items;
      notifyDataSetChanged();
  }
  
  @Override
  public MovieViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
      View itemView = LayoutInflater.
              from(viewGroup.getContext()).
              inflate(R.layout.movie_row, viewGroup, false);
  
      return new MovieViewHolder(itemView);
  }
  
  @Override
  public long getItemId(int position) {
      return super.getItemId(position);
  }
  
  @Override
  public void onBindViewHolder(final MovieViewHolder movieViewHolder, final int i) {
      final Movie movie = movieList.get(i);
  
      String posterUrl = "";
      final int posterHeight = 240;
      if (!isEmpty(movie.getImdb_id())) {
          posterUrl = "http://img.omdbapi.com/?i=" + movie.getImdb_id() + "&amp;apikey="+apiKey+"&amp;h=" + posterHeight;
      } else if (!isEmpty(movie.getPoster())) {
          posterUrl = movie.getPoster();
      }
      if (!isEmpty(posterUrl)) {
          Picasso.with(movieViewHolder.context)
                  .load(posterUrl)
                  .resize(220, 354)
                  .centerCrop()
                  .into(movieViewHolder.poster);
      }
  
      movieViewHolder.title.setText(movie.getTittel());
      movieViewHolder.format.setText(movie.getFormat());
  
      if (movie.getRuntime().isEmpty() || movie.getRuntime().equalsIgnoreCase("0")){
          movieViewHolder.runtime.setText("");
      }else{
          movieViewHolder.runtime.setText(movie.getRuntime()+" mins");
      }
  
      if (!movie.getTagline().isEmpty()) {
          movieViewHolder.tagline.setText(movie.getTagline());
      } else if (!movie.getPlot().isEmpty()) {
          movieViewHolder.tagline.setText(movie.getPlot());
      }
  }
  
  @Override
  public int getItemCount() {
      return movieList.size();
  }
  
  public static class MovieViewHolder extends RecyclerView.ViewHolder {
      protected Context context;
      protected LinearLayout movieRowLinearLayout;
      protected ImageView poster;
      protected TextView title;
      protected TextView runtime;
      protected TextView tagline;
      protected TextView format;
  
      public MovieViewHolder(View v) {
          super(v);
          context = v.getContext();
          movieRowLinearLayout = (LinearLayout) v.findViewById(R.id.movieRowLinearLayout);
          poster = (ImageView) v.findViewById(R.id.poster);
          title = (TextView) v.findViewById(R.id.title);
          runtime = (TextView) v.findViewById(R.id.runtime);
          tagline = (TextView) v.findViewById(R.id.tagline);
          format = (TextView) v.findViewById(R.id.format);
      }
  }
  </code></pre>
  
  <p>}</p>
  
  <p>Initializing the adapter:</p>
  
  <pre><code>adapter = new MovieCardAdapter(MovieList.movies);
  recyclerView.setAdapter(adapter);
  </code></pre>
  
  <p>Adding a sample movie:</p>
  
  <pre><code>if (id == R.id.add_movie) {
          final Movie movie = new Movie();
          movie.setTittel("0TEST");
          movie.setFormat("HD-DVD");
  
          MovieList.sortMoviesByTitle();
          adapter.addItem(MovieList.movies.indexOf(movie), movie);
          return true;
      } else if (id == R.id.action_logOut) {
          logOut(this);
      }
  </code></pre>
  
  <p>Sry bad english, hope someone understands and know what the problem might be.
  I have tried adding from runOnUiThread([...]), but same result.</p>