android - Retrofit : Do not have field Id -
when try have json result, have field want without id field. don't understand give json result :
[{"id":8671,"dateevenement":"2017-08-14t16:49:34.404+02:00","type":"competition","activiteplannings":[{"id":8675,"nomactivite":"base-ball","idactivite":8654},{"id":8674,"nomactivite":"balle de hockey","idactivite":8653},{"id":8676,"nomactivite":"course d'obstacles","idactivite":8655}],"groupe":{"id":8667,"nomgroupe":"benjamin","groupeactivites":[{"id":8673,"nomgroupe":"benjamin","idgroupe":8667,"nomactivite":"balle de hockey","idactivite":8653}]},"utilisateurplannings":[{"id":8679,"nomutilisateur":"colart","prenomutilisateur":"pierre","type":"responsable","dateplanning":"2017-08-14t16:49:34.404+02:00","iddisponibilite":0,"typeplanning":"competition","nomgroupe":"benjamin","planningid":8671,"utilisateurid":8651}],"disponibilites":[],"validate":false}] and have class setter , getter sure :
public class planning { private int id; private string dateevenement; private groupe groupe; private string type; private list<activiteplanning> activiteplannings; private list<utilisateurplanning> utilisateurplannings; simpledateformat format = new simpledateformat("yyyy-mm-dd't'hh:mm:ss"); public planning() { } public string gettype() { return type; } public void settype(string type) { this.type = type; } public string getdate() { return dateevenement; } public void setdate(string date) { date date2 = null; try { date2 = format.parse(date); } catch (parseexception e) { e.printstacktrace(); } simpledateformat sdf=new simpledateformat("dd/mm/yyyy hh:mm:ss"); this.dateevenement = sdf.format(date2.gettime()); } public ejplanningandroid.ejplanningandroid.models.groupe getgroupe() { return groupe; } public void setgroupe(ejplanningandroid.ejplanningandroid.models.groupe groupe) { this.groupe = groupe; } public list<utilisateurplanning> getutilisateurplannings() { return utilisateurplannings; } public void setutilisateurplannings(list<utilisateurplanning> utilisateurplannings) { this.utilisateurplannings = utilisateurplannings; } public list<activiteplanning> getactiviteplannings() { return activiteplannings; } public void setactiviteplannings(list<activiteplanning> activiteplannings) { this.activiteplannings = activiteplannings; } public int getid() { return id; } public void setid(int id) { this.id = id; } i set planning object class :
@override public view getview(int position, view view, viewgroup parent) { if(view == null){ view = layoutinflater.from(getcontext()).inflate(r.layout.rowplanning,parent, false); } planningviewholder planningviewholder = (planningviewholder)view.gettag(); if(planningviewholder==null){ planningviewholder= new planningviewholder(); planningviewholder.date = (textview)view.findviewbyid(r.id.date); planningviewholder.nomactivite =(textview)view.findviewbyid(r.id.activite); planningviewholder.nomgroupe = (textview)view.findviewbyid(r.id.nomgroupe); planningviewholder.type = (textview)view.findviewbyid(r.id.type); planningviewholder.utilisateur = (textview)view.findviewbyid(r.id.utilisateur); view.settag(planningviewholder); } planning planning = getitem(position); planningviewholder.type.settext("type : "+planning.gettype()); planningviewholder.nomgroupe.settext("groupe : "+planning.getgroupe().getnomgroupe()); string nomactivite = setstringfromarrayactivite(planning.getactiviteplannings()); planningviewholder.nomactivite.settext("activités : "+nomactivite); planningviewholder.date.settext(planning.getdate()); string nomutilisateur =setstringfromarrayutilisateur(planning.getutilisateurplannings()); planningviewholder.utilisateur.settext("moniteurs : "+nomutilisateur); return view; } my asynctask :
public class planningcandidaturetask extends asynctask<string,void,list<planning>> { @override protected list<planning> doinbackground(string... params) { try { interfaceservice interfaceservice = new restadapter.builder() .setendpoint(interfaceservice.path).build() .create(interfaceservice.class); string login = params[0]; string pass = params[1]; list<planning> planninglist = interfaceservice.getplanningbyvalidation(login, pass); return planninglist; }catch (retrofiterror retrofiterror){ return null; } } } but when want see if have id, field have 0 value. have try change type string not work ...
edited :
public class candidaturefragment extends fragment { private listview mlistview; private view view; private list<planning> listplanning = new arraylist<planning>(); @override public view oncreateview(layoutinflater inflater, @nullable final viewgroup container, @nullable bundle savedinstancestate) { view = inflater.inflate(r.layout.candidature_fragment, container, false); mlistview = (listview) view.findviewbyid(r.id.listviewplanning2); planningcandidaturetask planningtask = (planningcandidaturetask) new planningcandidaturetask() .execute(((mainactivity) getactivity()).getutilisateur().getlogin(), ((mainactivity) getactivity()).getutilisateur().getmotdepasse()); try { if(planningtask.get() != null) { (int = 0; < planningtask.get().size(); i++) { planning planning=new planning(); log.i("test",planningtask.get().get(i).getgroupe()+""); planning.setdate(planningtask.get().get(i).getdate()); planning.settype(planningtask.get().get(i).gettype()); planning.setgroupe(planningtask.get().get(i).getgroupe()); planning.setactiviteplannings(planningtask.get().get(i).getactiviteplannings()); planning.setutilisateurplannings(planningtask.get().get(i).getutilisateurplannings()); listplanning.add(planning); } planningadapter adapter = new planningadapter(view.getcontext(),listplanning); mlistview.setadapter(adapter); }else { toast.maketext(view.getcontext(), "erreur de connection", toast.length_short).show(); } } catch (interruptedexception e) { e.printstacktrace(); } catch (executionexception e) { e.printstacktrace(); } final planningadapter adapter = new planningadapter(view.getcontext(),listplanning); mlistview.setadapter(adapter); mlistview.setonitemclicklistener(new adapterview.onitemclicklistener(){ @override public void onitemclick(final adapterview<?> parent, final view view, final int position, long id) { alertdialog.builder builder = new alertdialog.builder(container.getcontext()); builder.settitle("validation"); builder.setmessage("voulez vous vraiment ajouter une candidature à ce planning ?") .setcancelable(false).setpositivebutton("oui", new dialoginterface.onclicklistener() { @override public void onclick(dialoginterface dialog, int which) { planning selectedfromlist = (planning) parent.getadapter().getitem(position); /*posttask posttask = (posttask) new posttask() .execute(((mainactivity) getactivity()).getutilisateur().getlogin(), ((mainactivity) getactivity()).getutilisateur().getmotdepasse(), "none","0");*/ dialog.cancel(); toast.maketext(view.getcontext(), "item selectionnné : "+selectedfromlist.getid(), toast.length_long).show(); } }).setnegativebutton("non", new dialoginterface.onclicklistener() { @override public void onclick(dialoginterface dialog, int which) { dialog.cancel(); } }); builder.create().show(); } }); return view; } get retrofit ::
@get("/planning/unvalidate/") list<planning> getplanningbyvalidation(@query("login") string login, @query("password") string password); public class planningviewholder { public textview date; public textview nomgroupe; public textview type; public textview nomactivite; public textview utilisateur; }
Comments
Post a Comment