JSON Array from Parse.com to ListView on Android -


i'm developing social/messaging app android on android studio, , want know how populate listview jsonarray(friends list).

my array (from parse currentuser file:

"friends": ["friend1","friend2","friend3"] 

code activity:

package com.mycompany.myapp;  import android.os.bundle; import android.support.annotation.nullable; import android.support.v4.app.fragment; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.*;  import com.parse.parseuser;  import org.json.jsonarray; import org.json.jsonexception;  import java.util.arraylist; import java.util.list;   public class friendstab extends fragment {      private listview friendslst;     parseuser current = parseuser.getcurrentuser();     jsonarray friends;        @override     public view oncreateview(layoutinflater inflater, @nullable viewgroup container, @nullable bundle savedinstancestate) {         view v =inflater.inflate(r.layout.friendsview,container,false);          friendslst = (listview)v.findviewbyid(r.id.friends_list_view);         friends = current.getjsonarray("friends");            return v;         } } 

thanks!

ok, i'll out.

instantiate container views , components in activity in oncreate(). create object of adapter class can call it's constructor , use it.

private listview lvfriends; private friendadapter friendadapter; // adapter handle data  @override protected void oncreate(bundle savedinstancestate) {    super.oncreate(savedinstancestate);    setcontentview(r.layout.friendsview); // <-- container layout name?     // instantiate adapter class    friendadapter = new friendadapter();     // instantiate listview    lvfriends = (listview) findviewbyid(r.id.friends_list_view);     // set adapter    friendadapter = new friendadapter(mainactivity, parseuser); // pass parseuser object adapter (or whatever information want)    lvfriends.setadapter(friendadapter); // set adapter   } 

now in adapter class following

public class friendadapter extends baseadapter {     private context mcontext;    private parseuser mparseuser;        // constructor    public friendadapter(context context, parseuser parseuser) {       this.mcontext = context;       this.mparseuser = parseuser;    }     @override    public int getcount() {       // return size of friends parseuser object     }     @override    public long getitemid(int position) {       return position;    }     @override    public object getitem(int position) {       // return individual item parseuser object    }      @override    public view getview(int position, view convertview, viewgroup parent) {       // did not post item view goes container        // assume textview        view view = convertview;       viewholder holder; // use view holder pattern       if (view == null) {          layoutinflater inflater = (layoutinflater) mcontext.getsystemservice(context.layout_inflater_service);          view = inflater.inflate(r.layout.item_friend, parent, false);          holder = new viewholder();          holder.tvfriendname = (textview) view.findviewbyid(r.id.tv_friend_name);          view.settag(holder);        } else {          holder = (viewholder) view.gettag();       }       return voew;    }     private static class viewholder {       private textview tvfriendname;    }  } 

hopefully helps. cheers!


Comments