【问题标题】:Display Json Data as menu item in android在android中将Json数据显示为菜单项
【发布时间】:2015-05-19 10:45:13
【问题描述】:

我正在获取这样的 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 数据的原因,所以它不会是预定义的?

【问题讨论】:

    标签: java android json parsing menuitem


    【解决方案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);
        }
    };
    

    【讨论】:

      猜你喜欢
      • 2015-04-05
      • 1970-01-01
      • 2016-02-21
      • 2016-08-20
      • 1970-01-01
      • 1970-01-01
      • 2014-02-08
      • 1970-01-01
      相关资源
      最近更新 更多