0

JSON配列から現​​在のJSONオブジェクトキーを取得し、それを別のアクティビティに渡したいときに、アンドロイドのLinear Layout OnClick関数を使用します。私のJSON配列名extra_infoには3つのオブジェクトがありますmain_header 2番目のオブジェクトの文字列名があります.2番目のオブジェクトキーを取得してJSON配列からそのオブジェクトの内部フィールドを取得する必要があります。 JSON配列JSON配列から現​​在のJSONオブジェクトキーを取得し、アンドロイドの別のアクティビティに渡すにはどうすればいいですか?

から現在のJSONオブジェクトのインデックスを見つけるためにどのように

または他の私は多くのコードを検索しましたが、それらは、配列のすべてのオブジェクトキーを提供しています。 JSON

"extra_info": [{ 
      "type": "htmleditor", 
      "htmleditor_extra_title": "Key Features", 
      "ckeditor_content": "" 
     }, { 
      "type": "textfield", 
      "main_header": "Specifications", 
      "field_option": [{ 
       "inside_single_title": "General", 
       "basic_opt1": [{ 
        "option_name_extra": "Ideal for", 
        "option_desc_extra": "men" 
       }] 
      }, { 
       "inside_single_title": "Sandal Details", 
       "basic_opt1": [{ 
        "option_name_extra": "Design", 
        "option_desc_extra": "Logo Detail" 
       }, { 
        "option_name_extra": "Closure", 
        "option_desc_extra": "Velcro" 
       }] 
      }] 
     }, { 
      "type": "textfield", 
      "main_header": "Sandal Details", 
      "field_option": [{ 
       "inside_single_title": "General", 
       "basic_opt1": [{ 
        "option_name_extra": "Sandal Details", 
        "option_desc_extra": "Sandal Details" 
       }] 
      }, { 
       "inside_single_title": "Sandal Details", 
       "basic_opt1": [{ 
        "option_name_extra": null, 
        "option_desc_extra": null 
       }] 
      }, { 
       "inside_single_title": "Sandal Details", 
       "basic_opt1": [{ 
        "option_name_extra": null, 
        "option_desc_extra": null 
       }] 
      }] 
     }], 

コード:

specification = alertObj.getJSONArray(SPECIFICATION); 
    String spe = String.valueOf(specification); 


    System.out.println("*****JARRAY*****" + specification.length()); 
    specificationdynamic = (LinearLayout) findViewById(R.id.specfication); 
    specifi = new TextView[specification.length()]; 
    iconimg = new ImageView[specification.length()]; 

    if (specification.length() > 0) { 
     Log.d("specificaiton", String.valueOf(specification.length())); 
     int jsoncount = Integer.parseInt(String.valueOf(specification.length())); 
     Log.d("specificaiton", String.valueOf(jsoncount)); 
     for (y = 0; y < specification.length(); y++) { 
      specifiobj = specification.getJSONObject(y); 
      String speciobj = String.valueOf(specifiobj); 
      Log.d("specificaiton", String.valueOf(specifiobj)); 
      Iterator key = specifiobj.keys(); 
      while (key.hasNext()) { 
       k = key.next().toString(); 
       System.out.println("Key : " + k + ", value : " + 
        specifiobj.getString(k)); 
      } 
      // System.out.println(objects.toString()); 
      System.out.println("-----------"); 



      String types = specifiobj.getString("type"); 
      if (types.equalsIgnoreCase("textfield")) { 
       hori = new LinearLayout(singleshooppingcart.this); 
       hori.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT)); 
       hori.setOrientation(LinearLayout.HORIZONTAL); 
       hori.setGravity(View.TEXT_ALIGNMENT_CENTER); 
       hori.setPadding(5, 15, 0, 0); 
       specifi[y] = new TextView(singleshooppingcart.this); 
       LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT, 1.0 f); 
       params.setMargins(0, 5, 0, 0); 

       specifi[y].setLayoutParams(params); 
       String main_header = specifiobj.getString("main_header"); 
       specifi[y].setText(main_header); 
       specifi[y].setTextColor(Color.parseColor("#151616")); 
       specifi[y].setTextSize(18); 
       specifi[y].setTypeface(null, Typeface.BOLD); 

       iconimg[y] = new ImageView(singleshooppingcart.this); 
       LinearLayout.LayoutParams iconimgs = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); 
       iconimgs.setMargins(0, 0, 23, 0); 
       iconimg[y].setLayoutParams(iconimgs); 
       iconimg[y].setImageResource(R.drawable.ic_keyboard_arrow_right_black_24dp); 

       View v = new View(getApplicationContext()); 
       v.setLayoutParams(new LinearLayout.LayoutParams(GetPixel(1, getApplicationContext()), LinearLayout.LayoutParams.FILL_PARENT)); 
       v.setBackgroundColor(getResources().getColor(android.R.color.darker_gray)); 
       specifi[y].setText(main_header); 

       hori.addView(specifi[y]); 
       hori.addView(iconimg[y]); 


       v.setBackgroundColor(Color.parseColor("#B3B3B3")); 
       specificationdynamic.addView(hori); 
       specificationdynamic.setOnClickListener(new View.OnClickListener() { 
        @Override 
        public void onClick(View view) { 
         Toast.makeText(getApplicationContext(), y, Toast.LENGTH_LONG).show(); 
        } 
       }); 



      } else { 
       Toast.makeText(getApplicationContext(), "statement wrong", Toast.LENGTH_LONG).show(); 
      } 



     } 

誰でもあなたはこのようなFetchDataことができ、事前

+0

あなたの質問は不明です。それを編集して、現在のJSON Objectキーを説明してください。 – Shubhank

+0

あなたはおならを試してみましたか? –

+0

ビューのクリック時に値を取得する場合は、その値をタグに設定する必要があります。 –

答えて

0
JSONArray arraydata = responseObj.getJSONArray("messages"); 

JSONObject mObject; 
for(int i = 0;i<arraydata.length();i++) { 
    mObject = arraydata.getJSONObject(i); 
    String MESAGE_DATA = mObject.getString("message_data"); 
    String USER_DATA = mObject.getString("user_data"); 


    JSONObject JSON_MSG_DATA = new JSONObject(MESAGE_DATA); 
    String MSG_ID = JSON_MSG_DATA.getString("message_id"); 
    String MSG_CUSTM_ID = JSON_MSG_DATA.getString("message_custom_id"); 
    String MSG_TEXT = JSON_MSG_DATA.getString("message_text"); 
    String SENDER_ID = JSON_MSG_DATA.getString("sender_id"); 
    String RECEIVER_ID = JSON_MSG_DATA.getString("receiver_id"); 
    String MSG_DATE_CREATED = JSON_MSG_DATA.getString("date_created"); 
    String MSG_DATE_UPDATED = JSON_MSG_DATA.getString("date_updated"); 
    String PARTNER_ID = JSON_MSG_DATA.getString("partner_id"); 
    String ELAPSED_TIME = JSON_MSG_DATA.getString("elapsed_time"); 


    JSONObject JSON_USER_DATA = new JSONObject(USER_DATA); 
    String USER_ID = JSON_USER_DATA.getString("user_id"); 
    String EMAIL = JSON_USER_DATA.getString("email"); 
    String USERNAME = JSON_USER_DATA.getString("username"); 
    String PASSWORD = JSON_USER_DATA.getString("password"); 
    String DEVICE_ID = JSON_USER_DATA.getString("device_id"); 
    String DEVICE_TYPE = JSON_USER_DATA.getString("device_type"); 
    String PROFILE_IMAGE = JSON_USER_DATA.getString("profile_image"); 
    String PHONE = JSON_USER_DATA.getString("phone"); 
    String GENDER = JSON_USER_DATA.getString("gender"); 
    String BIO = JSON_USER_DATA.getString("bio"); 
    String TITLE = JSON_USER_DATA.getString("title"); 
    String WEB_LINK = JSON_USER_DATA.getString("web_link"); 
    String STATUS = JSON_USER_DATA.getString("status"); 
    String USER_DATE_CREATED = JSON_USER_DATA.getString("date_created"); 
    String USER_DATE_UPDATED = JSON_USER_DATA.getString("date_updated"); 
} 

に感謝を助けます。

+0

私はこのように使うことはできません。次の活動にオブジェクトを渡したいのですが、どうすればこのように使うことができますか? – Nivethitha

関連する問題