Parsing wrong data from Json in android -
i parsing json data php server value getting in each tag not actual value of tag. value switched between each tags. json:
{"feed":[{"userid":"7", "username":"anurag", "user_image":"http:\/\/xxxxxxxxxxxxxxxxx\/avatars\/ozone\/7_30_7_150_wp_20140330_044.jpg", "gender":"1", "is_read":"1", "sender_id":"7", "receiver_id":"11", "message_id":"67", "message":"hi ", "created_date":"2015-06-26 12:43:20", "r_id":"67", "status":"0"}]} i trying these values in custom adapter class this:
@override public view getview(int position, view convertview, viewgroup parent) { // todo auto-generated method stub view vi = convertview; viewholder holder; if(convertview==null) convertview = inflater.inflate(r.layout.ozone_message_inboxitem, null); holder = new viewholder(); holder.ozonemsginboxfrom = (textview)convertview.findviewbyid(r.id.ozonemsginboxfrom); holder.ozonemsginboxcontent1 = (textview)convertview.findviewbyid(r.id.ozonemsginboxcontent); holder.ozonemsginboxdate1 = (textview)convertview.findviewbyid(r.id.ozonemsginboxdate); holder.ozonemsginboxphoto1 = (imageview)convertview.findviewbyid(r.id.ozonemsginboxphoto); holder.ozonemsginboxdate1.settext(feedlist.get(position).getusername()); //holder.ozonemsginboxcontent1.settext(feedlist.get(position).getmessage()); holder.ozonemsginboxfrom.settext(feedlist.get(position).getcreated_date()); int rounded_value = 120; displayimageoptions options = new displayimageoptions.builder().cacheinmemory(true).cacheondisc(true).displayer(new roundedbitmapdisplayer(rounded_value)).build(); imageloader.getinstance().displayimage(feedlist.get(position).getcreated_date(), holder.ozonemsginboxphoto1,options); return convertview; } public class viewholder { public imageview ozonemsginboxphoto1; textview ozonemsginboxfrom, ozonemsginboxcontent1,ozonemsginboxdate1; } as clear want display value of tag "username" in textview getting "created_date" , "user_image" in "created_date". , this, values switching there tags.
for more help, adding more main class , bean class here::
public class ozonemessageinboxfragment extends fragment{ private progressdialog pdialog; ozonemessageinboxadapter adapter; // creating json parser object jsonparser jsonparser = new jsonparser(); arraylist<hashmap<string, string>> inboxlist; arraylist<ozonemessageinbox_beans> feedlist = new arraylist<ozonemessageinbox_beans>(); // products jsonarray jsonarray inbox; jsonarray inboximage; private pulltorefreshlistview ozone_msginbox_listview; // inbox json url private static final string inbox_url = "http://example.com/omessageinbox/id/"; // json node names private static final string tag_feed = "feed"; private static final string tag_username = "username"; private static final string tag_userimage = "user_image"; private static final string tag_message = "message"; private static final string tag_date = "created_date"; apppreference mapppreference; context context; @override public view oncreateview(layoutinflater inflater, @nullable viewgroup container, @nullable bundle savedinstancestate) { view view = inflater.inflate(r.layout.ozone_message_inbox, container, false); initialisenoramlvariable(); initialiseview(view); return view; } private void initialiseview(view view) { ozone_msginbox_listview = (pulltorefreshlistview)view.findviewbyid(r.id.ozonemessageinbox); // hashmap listview inboxlist = new arraylist<hashmap<string, string>>(); ozone_msginbox_listview.setonrefreshlistener(new onrefreshlistener(){ @override public void onrefresh() { ozone_msginbox_listview.postdelayed(new runnable() { @override public void run() { ozone_msginbox_listview.onrefreshcomplete(); feedlist = new arraylist<ozonemessageinbox_beans>(); new loadinboxmsgozone().execute(); adapter.notifydatasetchanged(); } }, 2000); } }); new loadinboxmsgozone().execute(); } /** * background async task load inbox messages making http request * */ class loadinboxmsgozone extends asynctask<string, string, string> { public string finalvalue = ""; /** * before starting background thread show progress dialog * */ @override protected void onpreexecute() { super.onpreexecute(); pdialog = new progressdialog(context); pdialog.setmessage("loading inbox ..."); pdialog.setcancelable(false); pdialog.show(); } /** * getting inbox json * */ protected string doinbackground(string... args) { // building parameters list<namevaluepair> params = new arraylist<namevaluepair>(); //http://m.sabakuch.com/api/omessageinbox/id/11/userid/11/key/ee8b3de3507e194e8c43eb9458bf728e string url = inbox_url+mapppreference.getuserid()+"/"+"userid"+"/"+mapppreference.getuserid()+"/"+"key"+"/"+mapppreference.getserverkey(); log.d("urlll", url); // getting json string url jsonobject json = jsonparser.makehttprequest(url, "get",params); log.d("general json ", json.tostring()); try { inbox = json.getjsonarray(tag_feed); // looping through messages (int = 0; < inbox.length(); i++) { jsonobject c = inbox.getjsonobject(i); ozonemessageinbox_beans ozoneinboxbean = new ozonemessageinbox_beans(c.getstring(tag_date),c.getstring(tag_message),c.getstring(tag_username),c.getstring(tag_userimage)); feedlist.add(ozoneinboxbean); } } catch (jsonexception e) { e.printstacktrace(); } return null; } /** * after completing background task dismiss progress dialog * **/ @suppresswarnings("unchecked") protected void onpostexecute(string file_url) { // dismiss dialog after getting products pdialog.dismiss(); adapter = new ozonemessageinboxadapter(feedlist,context); ozone_msginbox_listview.setadapter(adapter); } } private void initialisenoramlvariable() { context = getactivity(); mapppreference = apppreference.getinstance(context); } } and bean class is::
public class ozonemessageinbox_beans implements serializable{ string userid; string username; string user_image; string gender; string is_read; string sender_id; string receiver_id; string message_id; string message; string created_date; string r_id; string status; public ozonemessageinbox_beans(string username, string user_image, string message, string created_date) { super(); this.username = username; this.user_image = user_image; this.message = message; this.created_date = created_date; } public string getuserid() { return userid; } public void setuserid(string userid) { this.userid = userid; } public string getusername() { return username; } public void setusername(string username) { this.username = username; } public string getuser_image() { return user_image; } public void setuser_image(string user_image) { this.user_image = user_image; } public string getgender() { return gender; } public void setgender(string gender) { this.gender = gender; } public string getis_read() { return is_read; } public void setis_read(string is_read) { this.is_read = is_read; } public string getsender_id() { return sender_id; } public void setsender_id(string sender_id) { this.sender_id = sender_id; } public string getreceiver_id() { return receiver_id; } public void setreceiver_id(string receiver_id) { this.receiver_id = receiver_id; } public string getmessage_id() { return message_id; } public void setmessage_id(string message_id) { this.message_id = message_id; } public string getmessage() { return message; } public void setmessage(string message) { this.message = message; } public string getcreated_date() { return created_date; } public void setcreated_date(string created_date) { this.created_date = created_date; } public string getr_id() { return r_id; } public void setr_id(string r_id) { this.r_id = r_id; } public string getstatus() { return status; } public void setstatus(string status) { this.status = status; } } please point out issue , me solve this.
there mistake in constructor in loop.
you doing
ozonemessageinbox_beans ozoneinboxbean = new ozonemessageinbox_beans(c.getstring(tag_date),c.getstring(tag_message),c.getstring(tag_username),c.getstring(tag_userimage)); changed following one.
ozonemessageinbox_beans ozoneinboxbean = new ozonemessageinbox_beans(c.getstring(tag_username),c.getstring(tag_userimage),c.getstring(tag_message),c.getstring(tag_date));
Comments
Post a Comment