我正在像这样获取 Json 数据(包括值和键)
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 数据,所以它不会被预定义?
最佳答案
在没有收到任何答案并且没有研究结果后,我自己完成了所有工作并且我让它工作了。这是我如何实现这个的解决方案。我只更改了我点击的所有内容并且它很高兴地膨胀了我的方式想要!
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);
}
};
关于java - 在 android 中将 Json 数据显示为菜单项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30323422/