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ことができ、事前
あなたの質問は不明です。それを編集して、現在のJSON Objectキーを説明してください。 – Shubhank
あなたはおならを試してみましたか? –
ビューのクリック時に値を取得する場合は、その値をタグに設定する必要があります。 –