【问题标题】:how to display results that getting from json to gridview如何显示从 json 到 gridview 的结果
【发布时间】:2014-02-06 19:16:25
【问题描述】:

我得到的结果与动态按钮一样,但我想在 gridview 中显示它。这是我的代码

JSONArray jsonMainNode1 = jsonResponse.getJSONArray("menu"); // JSONObject e = jsonMainNode1.getJSONObject(position);

             int lengthJsonArr = jsonMainNode1.length(); 
               for(int i=0; i <lengthJsonArr; i++)
              {                                     
                  JSONObject jsonChildNode = jsonMainNode1.getJSONObject(i);
                        String Pid      = jsonChildNode.optString("pid".toString());
                      String Name     = jsonChildNode.optString("name").toString();
                      String Refid=jsonChildNode.optString("refid".toString());

                  String resName = jsonChildNode.getString("image_url");

                  OutputData = Name;  
                      str_id = Pid;
                  // OutputData += "pid : "+ Pid +" "+ "content : "+ Name+" ";
                LinearLayout buttonContainer=(LinearLayout)findViewById(R.id.btn_container);
                Button button = new Button(buttonContainer.getContext());
                button.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
               ViewGroup.LayoutParams params = button.getLayoutParams();
               button.setLayoutParams(params);
               //Button new width
               params.width = 64;
               params.height = 64;
               button.setText(OutputData);

                   int resId = getResources().getIdentifier(resName, "drawable", getPackageName());
                     button.setBackgroundResource(resId);

                button.setGravity(Gravity.BOTTOM|Gravity.CENTER_HORIZONTAL);

                 button.setTextSize(13);
                        }

               button.setTag(Refid);
               button.setTextColor(Color.parseColor("#FF0000"));

               buttonContainer.addView(button);         
               button.setOnClickListener(new OnClickListener() {
                       public void onClick(View v) {
                           LinearLayout buttonContainer = (LinearLayout)findViewById(R.id.btn_container);
                           buttonContainer.removeAllViews();

【问题讨论】:

    标签: android gridview getjson


    【解决方案1】:

    json中的数据量是多少?
    使用 Gson 解析 json 并获取数据到模型类中,参考:
    Unable to Loop through dynamic json string recursively in android

    并将类对象的ArrayList传递给gridview的自定义适配器,参考:
    http://www.learn-android-easily.com/2013/09/android-custom-gridview-example.html
    http://www.mkyong.com/android/android-gridview-example/
    http://www.technotalkative.com/android-gridview-example/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-08
      • 2012-04-01
      • 1970-01-01
      • 2021-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-07
      相关资源
      最近更新 更多