java - Convert JSON Array to display in Android List View with multiple items -
i trying display listview of items in android jsonarray given below
{"myarray":[{"id":"816","name":"shopping","uid":"20"},{"id":"817","name":"grocery","uid":"20"},{"id":"818","name":"entertainment","uid":"20"},{"id":"819","name":"maid\/driver","uid":"20"}]} i want display these in listview given below
816 shopping 20 817 grocery 20 818 environment 20 819 maid\/driver 20 this java code working on
jsonarray the_json_array = jobj.getjsonarray("myarray"); list<string> list = new arraylist<string>(); (int i=0; i<the_json_array.length(); i++) { list.add( the_json_array.getstring(i) ); } string[] stringarray = list.toarray(new string[list.size()]); final arrayadapter adapter = new arrayadapter<string>(transactioncategory.this,android.r.layout.simple_list_item_1,stringarray); listview listview = (listview) findviewbyid(r.id.listview2); listview.setadapter(adapter); listview.setonitemclicklistener(new adapterview.onitemclicklistener() { @override public void onitemclick(adapterview<?> parent, view view, int position, long id) { // actions on list items } }); i having trouble loop
i need values each item in listview.
try use gson parse json in code below:
public class item { @serializedname("id") private string id; @serializedname("name") private string name; @serializedname("uid") private string uid; public string getid() { return id; } public void setid(string id) { this.id = id; } public string getname() { return name; } @override public string tostring() { return id + " " + name + " " + uid; } } public class itemlist { @serializedname("myarray") private list<item> items; public list<item> getitems() { if (items == null) { items = new arraylist<>(); } return items; } } then change code:
... gson gson = new gson(); itemlist itemlist = gson.fromjson(jobj, itemlist.class); final arrayadapter adapter = new arrayadapter<item>(transactioncategory.this,android.r.layout.simple_list_item_1, itemlist.getitems()); listview listview = (listview) findviewbyid(r.id.listview2); listview.setadapter(adapter); listview.setonitemclicklistener(new adapterview.onitemclicklistener() { @override public void onitemclick(adapterview<?> parent, view view, int position, long id) { // actions on list items } } ...
Comments
Post a Comment