private void loadListView() { Log.d(TAG, "----- loadListView ----- "); SharedPreferences prefs = this.getSharedPreferences("CopyistPreferences", Context.MODE_PRIVATE); String ensembles = prefs.getString("ensembles", null); listDataHeader = new ArrayList<String>(); listDataChild = new HashMap<String, List<String>>(); // Adding child data listDataHeader.add("ensembles"); try { JSONArray ensemblesArray = new JSONArray(ensembles); ArrayList<String> ensembleItems = new ArrayList<String>(); if (PrefsUtil.isComposer(this)) { ensembleItems.add("{\"name\": \"Add Ensemble...\"}"); } for (int i = 0; i < ensemblesArray.length(); i++) { JSONObject json_data = ensemblesArray.getJSONObject(i); ensembleItems.add(json_data.toString()); } listDataChild.put(listDataHeader.get(0), ensembleItems); // Header, Child data listAdapter = new ExpandableListAdapter(this, listDataHeader, listDataChild); listAdapter.setHeaderViewId(R.id.lblListHeader); ensemblesList.setAdapter(listAdapter); } catch (Exception e) { Log.d(TAG, "Error loading list view " + e.getMessage()); } }