title: RecyclerView not scrolling to the bottom
body: <p>I followed the recyclerview guidelines and built one for the app I am making, but it does not scroll to the bottom for some reason. I compared it with google code snippets, as well as other code snippets online and can't see the difference. I have posted a picture and the code I am using. I am using tabs, therefore the recyclerview is populated in a fragment.</p>
  
  <p>What the app looks like:</p>
  
  <p><a href="https://imgur.com/H5uOLFR" rel="noreferrer">http://imgur.com/H5uOLFR</a></p>
  
  <p>the adapter class:</p>
  
  <pre><code>public class MyAdapter extends RecyclerView.Adapter&lt;MyAdapter.ViewHolder&gt; {
  private List&lt;Group&gt; groups;
  
  // Provide a reference to the views for each data item
  // Complex data items may need more than one view per item, and
  // you provide access to all the views for a data item in a view holder
  public class ViewHolder extends RecyclerView.ViewHolder {
      // each data item is just a string in this case
      public TextView groupName;
      public TextView groupDate;
      public TextView groupLocation;
      public TextView className;
  
      public ViewHolder(View v) {
          super(v);
          groupName = (TextView) v.findViewById(R.id.groupName);
          groupDate = (TextView) v.findViewById(R.id.groupDate);
          groupLocation = (TextView) v.findViewById(R.id.groupLocation);
          className = (TextView) v.findViewById(R.id.className);
      }
  }
  
  /*
   * TODO: finish this method
   */
  public void add(int position, String item) {
  
      notifyItemInserted(position);
  }
  
  public void remove(String item) {
      int position = groups.indexOf(item);
      groups.remove(position);
      notifyItemRemoved(position);
  }
  
  // Provide a suitable constructor (depends on the kind of dataset)
  public MyAdapter(List&lt;Group&gt; groupsList) {
      groups = groupsList;
      Log.d("TEST", "Number of Groups: " +
              Integer.toString(groups.size()));
  }
  
  // Create new views (invoked by the layout manager)
  @Override
  public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,
                                                 int viewType) {
      // create a new view
      View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.group_view, parent, false);
      // set the view's size, margins, paddings and layout parameters
      ViewHolder vh = new ViewHolder(v);
      return vh;
  }
  
  // Replace the contents of a view (invoked by the layout manager)
  @Override
  public void onBindViewHolder(ViewHolder holder, int position) {
      // - get element from your dataset at this position
      // - replace the contents of the view with that element
      final Group group = groups.get(position);
  //      holder.groupName.setText(group.getName());
      holder.groupName.setText(group.getName());
      holder.groupDate.setText(group.getFormattedDate());
      holder.groupLocation.setText(group.getLocation());
      holder.className.setText(group.getParent().getName());
  }
  
  // Return the size of your dataset (invoked by the layout manager)
  @Override
  public int getItemCount() {
      return groups.size();
  }
  
  }
  </code></pre>
  
  <p>The Fragment class:</p>
  
  <pre><code>public class groupsFragment extends Fragment implements GroupLeaver, GroupRetriever {
  private RecyclerView rv;
  private List&lt;Group&gt; groups;
  private ProgressDialog progressDialog;
  
  @Override
  public void onCreate(Bundle savedInstance){
      super.onCreate(savedInstance);
      Log.d("TEST", "Entered onCreate");
  }
  
  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
      AppMain.getController().retrieveGroups(groupsFragment.this);
      Log.d("TEST", "Entered onCreateView");
      View rootView =  inflater.inflate(R.layout.groups_fragment, container, false);
  
      rv = (RecyclerView) rootView.findViewById(R.id.recyclerView);
  
      rv.setLayoutManager(new LinearLayoutManager(getActivity()));
  
      Log.d("TEST", "Size of LIST: " + Integer.toString(groups.size()));
      MyAdapter adapter = new MyAdapter(groups);
      rv.setAdapter(adapter);
  
      return rootView;
  }
  
  @Override
  public void onMyGroupsFound(List&lt;Group&gt; groups) {
      Log.d("TEST", "Entered onMyGroupsFound");
      Logg.info(this.getClass(), "Found %d groups for member %s", groups.size(), User.getCurrentUser().getDisplayName());
      this.groups = groups;
  }
  
  @Override
  public void onGroupLeft(Group oldGroup) {
  
  }
  
  @Override
  public void onGroupLeftFailed(Group group, ParseException e) {
  
  }
  }
  </code></pre>
  
  <p>The xml layout for the recyclerview:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical"
  &gt;
  
  &lt;android.support.v7.widget.RecyclerView
      android:id="@+id/recyclerView"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:divider="@null"/&gt;
  
  &lt;/FrameLayout&gt;
  </code></pre>
  
  <p>The xml layout for the recyclerview items:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  
  &lt;FrameLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  &gt;
  
  &lt;LinearLayout
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:padding="16dp"
      android:orientation="horizontal"&gt;
  
      &lt;LinearLayout
          android:layout_height="wrap_content"
          android:layout_width="0dp"
          android:layout_weight="3"
          android:orientation="vertical"&gt;
  
          &lt;TextView
              android:id="@+id/groupName"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:text="Group Name"
              /&gt;
  
          &lt;TextView
              android:id="@+id/groupDate"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:text="Group Date"
              /&gt;
  
          &lt;TextView
              android:id="@+id/groupLocation"
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:text="Group Location"
              /&gt;
      &lt;/LinearLayout&gt;
  
      &lt;LinearLayout
          android:layout_height="wrap_content"
          android:layout_width="0dp"
          android:layout_weight="1"
          android:orientation="vertical"&gt;
  
          &lt;TextView
              android:id="@+id/className"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:layout_gravity="center"
              android:gravity="right"
              android:text="Class Name"
              /&gt;
      &lt;/LinearLayout&gt;
  
  &lt;/LinearLayout&gt;
  &lt;/FrameLayout&gt;
  </code></pre>