java - 在 android 中将 Json 数据显示为菜单项

标签 java android json parsing menuitem

我正在像这样获取 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/

相关文章:

java - 从字符串中提取每个单独的数字

java - 如何修复向谷歌报告成就时的 'CLIENT_RECONNECT_REQUIRED' 问题

java - 如何重构这个 Java 方法以更好地利用 OOP

android - SQLiteOpenHelper onCreate()/onUpgrade() 何时运行?

Android:在 RecyclerView 中的项目之间添加分隔符

.net - 如何将来自 .NET Web 服务的 DataSet 绑定(bind)到 Android GridView?

json - 从 json 对象值中删除引号

Java 输入文件循环

javascript - 如何 PUT 到 JSON 数组中的某个对象(npm 请求)

python - 解析 json 文件以收集数据并存储在列表/数组中