private void prepareListData() { listDataHeader = new ArrayList<String>(); listDataChild = new HashMap<String, List<String>>(); listDataChildObject = new HashMap<String, List<ParseObject>>(); // Adding child data ParseQuery<ParseObject> query1 = ParseQuery.getQuery("Category"); List<ParseObject> listHeaders = null; try { listHeaders = query1.find(); } catch (Exception e) { } for (ParseObject x : listHeaders) { listDataHeader.add((String) x.get("category_name")); } int n = listDataHeader.size(); // Adding child data for (int i = 0; i < n; i++) { String s = listDataHeader.get(i); ParseObject obj = listHeaders.get(i); List<String> list = new ArrayList<String>(); List<ParseObject> listObject = new ArrayList<ParseObject>(); ParseQuery<ParseObject> query = ParseQuery.getQuery("Menu_Item").whereEqualTo("category", obj); List<ParseObject> matches = null; try { matches = query.find(); } catch (Exception e) { } for (ParseObject a : matches) { // if(isActive(a)) { list.add((String) a.get("item_name")); listObject.add(a); // } } listDataChild.put(s, list); listDataChildObject.put(s, listObject); } }