2015-05-19 3 views
1

Я выборки данных JSON, как это (как ценность и ключи)Дисплей Json данных в качестве пункта меню в Android

new RequestTypes().execute().get(); 
     JSONObject object = new JSONObject(typesresponse); 
     JSONObject object2 = object.getJSONObject("types"); 
     for(int i =0;i<object2.names().length();i++){ 
      key = object2.names().getString(i); 
      value = object2.getString(key); 
     } 

Я успешно делают это, и у меня есть пункт меню выпадающего списка, как это :

public View.OnClickListener typedropdownlistener = new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     PopupMenu popup = new PopupMenu(PostPaq.this, v); 
     //Inflating the Popup using xml file 
     popup.getMenuInflater().inflate(R.menu.type_menu, popup.getMenu()); 
     popup.show(); 
     popup.setOnMenuItemClickListener(typemenulistener); 
    } 
}; 

Мой вопрос в том, как я могу разобрать переменные «значение» и «ключ» в свой пункт меню XML? Возможно ли это, потому что я хочу показать разобранные данные json как выпадающие, так как я показываю прямо сейчас с последней частью кода, но его предопределено, и именно поэтому я хочу разобрать полученные json-данные, поэтому он не будет быть предопределенным?

ответ

1

После того, как я не получил никакого ответа и не получил никакого результата исследования, я сделал все это сам, и я заставляю его работать. Это решение для этого, как я это достиг. Я только что изменил все внутри своего клика, и он радостно раздувает я хочу!

public View.OnClickListener typedropdownlistener = new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     popup = new PopupMenu(PostPaq.this,v); 
     for(int i =0;i<object2.names().length();i++){ 
      try { 
       key = object2.names().getString(i); 
      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 
      try { 
       value = object2.getString(key); 
      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 
      //Inflating the Popup using xml file 
      //popup.getMenuInflater().inflate(R.menu.type_menu, popup.getMenu()); 
      popup.getMenu().add(key+"-"+value); 
     } 
     popup.show(); 
     popup.setOnMenuItemClickListener(typemenulistener); 
    } 
}; 
Смежные вопросы