Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá galera estou com um problema aqui no meu aplicativo, estou criando um cardápio para restaurante, onde os dados virão lááá do meu banco de dados Mysql.
Olha o meu array | Json como esta sendo retornado.....
Array
(
[0] => Array
(
[id] => 1
[categoria] => Pizzas
[0] => Array
(
[item] => Calabresa
)
[1] => Array
(
[item] => Bacon
)
[2] => Array
(
[item] => 4 Queijos
)
)
[1] => Array
(
[id] => 2
[categoria] => Bebidas
[0] => Array
(
[item] => Breja
)
[1] => Array
(
[item] => Refri
)
[2] => Array
(
[item] => Coca
)
)
[2] => Array
(
[id] => 3
[categoria] => Doces
[0] => Array
(
[item] => Pudim
)
[1] => Array
(
[item] => Pavê
)
[2] => Array
(
[item] => Paçoquinha
)
)
[3] => Array
(
[id] => 4
[categoria] => Combo
[0] => Array
(
[item] => Bacon + Coca
)
[1] => Array
(
[item] => Calabresa + Refri
)
[2] => Array
(
[item] => 4 Queijos + Refri + Pudim
)
)
)
e o meu Json....
[{"id":"1","categoria":"Pizzas","0":{"item":"Calabresa"},"1":{"item":"Bacon"},"2":{"item":"4 Queijos"}},{"id":"2","categoria":"Bebidas","0":{"item":"Breja"},"1":{"item":"Refri"},"2":{"item":"Coca"}},{"id":"3","categoria":"Doces","0":{"item":"Pudim"},"1":{"item":"Pav\u00ea"},"2":{"item":"Pa\u00e7oquinha"}},{"id":"4","categoria":"Combo","0":{"item":"Bacon + Coca"},"1":{"item":"Calabresa + Refri"},"2":{"item":"4 Queijos + Refri + Pudim"}}]
Bom vamos ao problema estou pegando esses dados lá no meu app android com essa função
private void prepareLista(){
lstGrupos = new ArrayList<String>();
lstItensGrupo = new HashMap<String, List<Produto>>();
StringRequest stringRequest = new StringRequest(Request.Method.GET, URL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try{
JSONArray pro = new JSONArray(response);
for(int i = 0; i<pro.length();i++){
JSONObject proObj = pro.getJSONObject(i);
lstGrupos.add(proObj.getString("categoria"));
List<Produto> foods = new ArrayList<>();
JSONArray itemArray = new JSONArray(response);
for(int j=0; j<itemArray.length();j++){
JSONObject proItem = itemArray.getJSONObject(j);
foods.add(new Produto(proItem.getString("item"),17.9));
}
lstItensGrupo.put(lstGrupos.get(i),foods);
}
//cria um adaptador (BaseExpandableListAdapter) com os dados acima
listAdapter = new ExpandableListViewAdapter(MainActivity.this, lstGrupos, lstItensGrupo);
//define o apadtador do ExpandableListView
expListView.setAdapter(listAdapter);
}catch (JSONException e){
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(MainActivity.this, error.getMessage(), Toast.LENGTH_LONG).show();
}
});
Volley.newRequestQueue(this).add(stringRequest);
}
bom como vcs viram aí, ele me retorna as categorias Pizzas / Bebidas / Doces / Combo
só que não me retorna os itens destas categorias
e aqui olha se eu deixo assim
foods.add(new Produto(proItem.getString("item"),17.9));
querendo que ele me traga os itens, não me retorna nadica de nada, agora se eu deixo assim
foods.add(new Produto(proItem.getString("categoria"),17.9));
ele me retorna as categorias e como sub-categorias as proprias categorias e não sei como resolver issoCarregando comentários...