title: RecyclerView not being populated (getItemCount() is returning zero)
body: <p>I looked at the other questions on SO about this, and matched by code word for word but I must have missed something because nothing is working. getItemCount() is returning zero, but I debugged my data list and it seemed to add all my data properly, so something is going wrong with the communication to the adapter.</p>
  
  <p>Please tell me what's going wrong here!</p>
  
  <p>Below is my code for MainActivity.java:</p>
  
  <pre><code>import android.content.Context;
  import android.content.Intent;
  import android.support.v7.app.ActionBarActivity;
  import android.os.Bundle;
  import android.support.v7.widget.LinearLayoutManager;
  import android.support.v7.widget.RecyclerView;
  import android.util.Log;
  import android.view.View;
  import android.widget.Button;
  
  import com.parse.FindCallback;
  import com.parse.ParseException;
  import com.parse.ParseObject;
  import com.parse.ParseQuery;
  import com.parse.ParseUser;
  
  import java.util.ArrayList;
  import java.util.List;
  
  
  public class Profile_Page extends ActionBarActivity {
      UserLocalStore userLocalStore;
      private RecyclerView recyclerView;
      private DataAdapter adapter;
      private Context context;
      final LinearLayoutManager layoutManager = new LinearLayoutManager(this);
      public List&lt;Information&gt; data = new ArrayList&lt;&gt;();
  
  
      @Override
      protected void onCreate(Bundle savedInstanceState)
      {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_profile__page);
          ParseUser currentUser = ParseUser.getCurrentUser();
          String struser = currentUser.getUsername();
          recyclerView = (RecyclerView) findViewById(R.id.recyclerView); 
  
          Button logoutBtn = (Button) findViewById(R.id.logOutBtn);
  
  
  
          adapter = new DataAdapter(getApplicationContext(), getData()); 
          recyclerView.setAdapter(adapter); 
          recyclerView.setLayoutManager(new LinearLayoutManager(getApplicationContext()));
  
     public List&lt;Information&gt; getData()
  {
      ParseQuery &lt;ParseObject&gt; query = ParseQuery.getQuery("ParseClassName");
          query.whereEqualTo("author", ParseUser.getCurrentUser());
          query.findInBackground(new FindCallback&lt;ParseObject&gt;() {
              @Override
              public void done(List&lt;ParseObject&gt; list, ParseException e) { 
                  if (e == null) {
                      for (ParseObject getData : list) { 
                          Information current = new Information();
                          current.thing= getData.getString("Thing");                                           
                          data.add(current); 
                          adapter.notifyDataSetChanged();
                          //for some reason, data isn't getting transferred to adapter
  
  
                      }
  
                  } else {
                      //something went wrong
                  }
  
              }
  
  
          });
  return data;
      }
  
  
      public void logOut(View view)
      {
          // Logout current user
          ParseUser.logOut();
          finish();
      }
  }
  </code></pre>
  
  <p>Code for DataAdapter:</p>
  
  <pre><code>import android.content.Context;
  import android.support.v7.widget.RecyclerView;
  import android.util.Log;
  import android.view.LayoutInflater;
  import android.view.View;
  import android.view.ViewGroup;
  import android.widget.Button;
  import android.widget.Chronometer;
  import android.widget.EditText;
  import android.widget.TextView;
  
  import java.util.ArrayList;
  import java.util.Collections;
  import java.util.List;
  
  
  public class DataAdapter extends RecyclerView.Adapter&lt;DataAdapter.MyViewHolder&gt;
  {
      private LayoutInflater inflater;
      List&lt;Information&gt; data = Collections.emptyList();
  
  
  
      public DataAdapter(Context context, List&lt;Information&gt; data) 
      {
          inflater = LayoutInflater.from(context);
          this.data= data;
      }
  
      @Override
      public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
      {
          View view = inflater.inflate(R.layout.recycler_view_layout, parent, false); 
          MyViewHolder holder = new MyViewHolder(view); 
          return holder;
      }
  
      @Override
      public void onBindViewHolder(MyViewHolder holder, int position)
      {
          Information current = data.get(position);
          holder.tv.setText(current.thing);
  
      }
  
      @Override
      public int getItemCount()
      {   Log.d("datasize", String.valueOf(data.size()));
          return data.size();
      }
      class MyViewHolder extends RecyclerView.ViewHolder
      {    TextView tv;
  
  
  
  
          public MyViewHolder(View itemView) {
              super(itemView);
              tv= (TextView) itemView.findViewById(R.id.thingID);
  
  
          }
      }
  }
  </code></pre>
  
  <p>Information.java</p>
  
  <pre><code>public class Information
  {
      public String thing;
  
  
  }
  </code></pre>
  
  <p>Recycler_view_layout.xml</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:orientation="horizontal" android:layout_width="match_parent"
      android:layout_height="match_parent"
      &gt;
  
      &lt;TextView
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:text="Dummy Text"
          android:id="@+id/thingID"/&gt;
  
  
  &lt;/LinearLayout&gt;
  </code></pre>
  
  <p>Activity in which the RecyclerView is added:</p>
  
  <pre><code>&lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
      android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
      android:paddingRight="@dimen/activity_horizontal_margin"
      android:paddingTop="@dimen/activity_vertical_margin"
      android:paddingBottom="@dimen/activity_vertical_margin"
      tools:context="com.example.android.blah.Profile_Page"
      &gt;
  
  
      &lt;Button
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:text="Button"
          android:id="@+id/button3"
          android:layout_alignParentTop="true"
          android:layout_alignRight="@+id/recyclerView"
          android:layout_alignEnd="@+id/recyclerView" /&gt;
  
      &lt;Button
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:text="Log out"
          android:id="@+id/logOutBtn"
          android:layout_below="@+id/button3"
          android:layout_alignParentLeft="true"
          android:layout_alignParentStart="true"
          android:onClick="logOut"
          android:layout_marginTop="85dp" /&gt;
  
  
      &lt;android.support.v7.widget.RecyclerView
          android:layout_width="match_parent"
          android:layout_height = "wrap_content"
          android:id="@+id/recyclerView"
          android:layout_alignTop="@id/logOutBtn" /&gt;
  
  &lt;/RelativeLayout&gt;
  </code></pre>