以下は私がAPIから取得しているjsonデータです
{
"list": {
"items": [
"About Us",
"Services",
"Working With",
"Officehours",
"Useful Links",
"Terms & Conditions",
"Go to Website"
]
},
"data":
{
"about us": { "description": " Aaaaaaaa" },
"services": { "description": " Baaaaaaa." },
"working with": { "description": "Caaaaaa" },
"officehours": { "title": "Office Hours:","timing": "09:00am - 06:00pm"},
"useful links": { "description": [
{
"name": "One",
"link": "http://www.google.com/"
},
{
"name": "Two",
"link": "http://www.yahoo.com"
}]},
"terms & conditions": { "description": "Daaaaaaaaa" },
"go to website": { "link": "http: //www.amazon.com/" },
}
}
上記のjsonデータでは、json配列の「リスト」値がリストビューに表示されます。それらを配列リストに追加し、リストビューにも表示しました。
これで、ユーザーがリストビューをクリックすると、それに対応するデータが次のアクティビティに表示されます。たとえば、ユーザーがクリックした場合、次のアクティビティでAbout US text of listview
を表示する方法を説明します。description Aaaaaaa
リストビューの各アイテムについてこのように、私は異なるアクティビティを開く必要があります。内側のタグの
場合はdescription
開く必要があります内側のタグの場合は開く必要があります内側のタグの場合は開く必要
があります
内側のタグがJSON配列型の場合は開く必要がありますactivity1
title
activity2
link
activity3
description
activity4
コード内などのタグをホットコーディングすることは想定されていません"about us", "services","working with","officehours","useful links","terms & conditions", "go to website"
。
私のOnItemClickListenerで私は次のことをしています
try
{
JSONObject locarray = new JSONObject(Appconstant.dataObj.get(0).toString());
String txt_data = locarray.getJSONObject(about.get(arg2).toLowerCase()).getString("description");
}
catch(Exception e)
{
Log.e("Exception @ json 1",""+e);
}
場合によっては、「説明」のJSOn値がないという例外が発生します
これを行う方法、plsは私を助けます