 <p>Agree with the above, in plain english, your code will be executed like this: </p> <ol> <li>final List studentList = new ArrayList(); </li> <li>ParseQuery query = ParseQuery.getQuery("Student");<br/> ------> 1. query.findInBackground (Popped onto background thread) </li> <li>return studentList (so yes, by the time you get here, studentList will probably be null). </li> </ol> <p>Just remember ".findinbackground" will always go to a background thread.</p>