I am getting data from Parse.com and I want to populate it in a ListView dynamicly. Here is my approach:
public class CategoryFragment extends Fragment {
private OnFragmentInteractionListener mListener;
ArrayList<Category> categories;
// TODO: Rename and change types and number of parameters
public static CategoryFragment newInstance() {
CategoryFragment fragment = new CategoryFragment();
return fragment;
}
public CategoryFragment() {
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ParseQuery<Category> query = new ParseQuery<Category>("Category");
query.findInBackground(new FindCallback<Category>() {
@Override
public void done(List<Category> parseObjects, ParseException e) {
if(parseObjects!=null)
categories = new ArrayList<Category>(parseObjects);
}
});
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_categories, container, false);
GridView gridView = (GridView) view.findViewById(R.id.list);
if(categories==null)
categories = new ArrayList<Category>();
gridView.setAdapter(new CategoryAdapter(getActivity(), categories));
return view;
}
The problem is, that the items do not load. I know why, it is because I set the ArrayList to an empty one. I want to know how to do this right. Maybe I should get the data on my adapter?