1

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?

0 Answers0