java - How to add multiple arrays to recyclerview -


    package com.example.sander.app;  import android.app.fragment; import android.content.intent; import android.os.bundle; import android.support.v7.widget.cardview; import android.support.v7.widget.linearlayoutmanager; import android.support.v7.widget.recyclerview; import android.view.layoutinflater; import android.view.menu; import android.view.menuinflater; import android.view.menuitem; import android.view.view; import android.view.viewgroup; import android.widget.framelayout; import android.widget.textview;  import com.android.volley.request; import com.android.volley.requestqueue; import com.android.volley.response; import com.android.volley.volleyerror; import com.android.volley.toolbox.stringrequest; import com.android.volley.toolbox.volley;  import org.json.jsonarray; import org.json.jsonexception; import org.json.jsonobject;  import java.util.arraylist; import java.util.collections; import java.util.list;  /**  * created sander on 6-4-2017.  */  public class recycleframe extends fragment {     arraylist<string> names = new arraylist<>();     arraylist<integer> cpoints = new arraylist<>();      boolean sort = false;     public recycleframe() {         // required empty public constructor     }      @override     public void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);     }       @override     public void oncreateoptionsmenu(menu menu, menuinflater inflater) {         inflater.inflate(r.menu.fragment_view, menu);         super.oncreateoptionsmenu(menu,inflater);     }        @override     public view oncreateview(layoutinflater inflater, viewgroup container,                              bundle savedinstancestate) {         sethasoptionsmenu(true);         // inflate layout fragment         view view = inflater.inflate(r.layout.fragment_recycle, container, false);         final recyclerview vrecyclerview = (recyclerview) view.findviewbyid(r.id.rv_recycler_view);         requestqueue rq = volley.newrequestqueue(getactivity().getapplicationcontext());         string url= "http://test.dontstealmywag.ga/api/parkgarage_all.php";         stringrequest stringrequest = new stringrequest(request.method.get, url,                 new response.listener<string>() {                     @override                     public void onresponse(string response) {                         // response                         try{                             jsonobject o = new jsonobject(response);                             jsonarray values=o.getjsonarray("");                             ( int i=0; i< values.length(); i++) {                                 jsonobject jsonobject = values.getjsonobject(i);                                 names.add(jsonobject.getstring("parkgarage_name"));                                 cpoints.add(jsonobject.getint("charging_capacity")); // want add recycler viewer                             }                         }  catch (jsonexception ex){}                          collections.sort(names);                         vrecyclerview.sethasfixedsize(true);                         recycleadapter adapter = new recycleadapter(names, cpoints);                         vrecyclerview.setadapter(adapter);                         linearlayoutmanager llm = new linearlayoutmanager(getactivity());                         vrecyclerview.setlayoutmanager(llm);                     }                 },                 new response.errorlistener() {                     @override                     public void onerrorresponse(volleyerror error) {                         // handle error                     }                 });         rq.add(stringrequest);         return view;     } } 

this code recyclerframe, in here can see cpoints.add(jsonobject.getint("charging_capacity")); want display inside recyclerviewer, can display names array.

this recycleradapter code:

    package com.example.sander.app;  import android.app.fragment; import android.media.image; import android.os.bundle; import android.support.v7.widget.cardview; import android.support.v7.widget.linearlayoutmanager; import android.support.v7.widget.recyclerview; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.imageview; import android.widget.textview;  import java.util.arraylist;  /**  * created sander on 6-4-2017.  */  public class recycleadapter extends recyclerview.adapter<recycleadapter.myviewholder> {      arraylist<string> arraydataset;     arraylist<integer> arraydataset2;     public static class myviewholder extends recyclerview.viewholder{         public cardview mcardview;         public textview mtextview;         public textview mtextview2;         public imageview mimageview;         public myviewholder(view v){             super(v);              mcardview = (cardview) v.findviewbyid(r.id.card_view);             mtextview = (textview) v.findviewbyid(r.id.tv_blah);             mtextview2 = (textview) v.findviewbyid(r.id.tv_blah2);             mimageview = (imageview) v.findviewbyid(r.id.imageview1);         }      }      public recycleadapter(arraylist<string> names, arraylist<integer> cpoints){         arraydataset = names;         arraydataset2= cpoints;     }      @override     public recycleadapter.myviewholder oncreateviewholder(viewgroup parent, int viewtype){         view v = layoutinflater.from(parent.getcontext()).inflate(r.layout.fragment_card_view, parent, false);         myviewholder vh = new myviewholder(v);         return vh;     }      @override     public void onbindviewholder(myviewholder holder, int position){         holder.mtextview.settext(arraydataset.get(position));         holder.mtextview2.settext(arraydataset2.get(position));         holder.mimageview.setimageresource(r.drawable.ic_local_parking_black_24dp);     }      @override     public int getitemcount() { return arraydataset.size(); } } 

i know changes need made here don't know how to. i've read dataset class don't know how implement it. tell me how can add multiple arrays recyclerview?

logcat after updating code

04-07 18:47:59.341 5581-5581/com.example.sander.app e/recyclerview: no adapter attached; skipping layout 04-07 18:47:59.344 5581-5712/com.example.sander.app d/networksecurityconfig: no network security config specified, using platform default 04-07 18:47:59.493 5581-5581/com.example.sander.app w/resourcetype: no package identifier when getting value resource number 0x00000000 04-07 18:47:59.493 5581-5581/com.example.sander.app d/androidruntime: shutting down vm 04-07 18:47:59.494 5581-5581/com.example.sander.app e/androidruntime: fatal exception: main                                                                       process: com.example.sander.app, pid: 5581                                                                       android.content.res.resources$notfoundexception: string resource id #0x0                                                                           @ android.content.res.resources.gettext(resources.java:335)                                                                           @ android.widget.textview.settext(textview.java:4555)                                                                           @ com.example.sander.app.recycleadapter.onbindviewholder(recycleadapter.java:56)                                                                           @ com.example.sander.app.recycleadapter.onbindviewholder(recycleadapter.java:21)                                                                           @ android.support.v7.widget.recyclerview$adapter.onbindviewholder(recyclerview.java:6356)                                                                           @ android.support.v7.widget.recyclerview$adapter.bindviewholder(recyclerview.java:6389)                                                                           @ android.support.v7.widget.recyclerview$recycler.trybindviewholderbydeadline(recyclerview.java:5335)                                                                           @ android.support.v7.widget.recyclerview$recycler.trygetviewholderforpositionbydeadline(recyclerview.java:5598)                                                                           @ android.support.v7.widget.recyclerview$recycler.getviewforposition(recyclerview.java:5440)                                                                           @ android.support.v7.widget.recyclerview$recycler.getviewforposition(recyclerview.java:5436)                                                                           @ android.support.v7.widget.linearlayoutmanager$layoutstate.next(linearlayoutmanager.java:2224)                                                                           @ android.support.v7.widget.linearlayoutmanager.layoutchunk(linearlayoutmanager.java:1551)                                                                           @ android.support.v7.widget.linearlayoutmanager.fill(linearlayoutmanager.java:1511)                                                                           @ android.support.v7.widget.linearlayoutmanager.onlayoutchildren(linearlayoutmanager.java:595)                                                                           @ android.support.v7.widget.recyclerview.dispatchlayoutstep2(recyclerview.java:3583)                                                                           @ android.support.v7.widget.recyclerview.dispatchlayout(recyclerview.java:3312)                                                                           @ android.support.v7.widget.recyclerview.onlayout(recyclerview.java:3844)                                                                           @ android.view.view.layout(view.java:17637)                                                                           @ android.view.viewgroup.layout(viewgroup.java:5575)                                                                           @ android.widget.framelayout.layoutchildren(framelayout.java:323)                                                                           @ android.widget.framelayout.onlayout(framelayout.java:261)                                                                           @ android.view.view.layout(view.java:17637)                                                                           @ android.view.viewgroup.layout(viewgroup.java:5575)                                                                           @ android.widget.relativelayout.onlayout(relativelayout.java:1079)                                                                           @ android.view.view.layout(view.java:17637)                                                                           @ android.view.viewgroup.layout(viewgroup.java:5575)                                                                           @ android.widget.framelayout.layoutchildren(framelayout.java:323)                                                                           @ android.widget.framelayout.onlayout(framelayout.java:261)                                                                           @ android.view.view.layout(view.java:17637)                                                                           @ android.view.viewgroup.layout(viewgroup.java:5575)                                                                           @ android.support.constraint.constraintlayout.onlayout(constraintlayout.java:1197)                                                                           @ android.view.view.layout(view.java:17637)                                                                           @ android.view.viewgroup.layout(viewgroup.java:5575)                                                                           @ android.support.design.widget.headerscrollingviewbehavior.layoutchild(headerscrollingviewbehavior.java:131)                                                                           @ android.support.design.widget.viewoffsetbehavior.onlayoutchild(viewoffsetbehavior.java:42)                                                                           @ android.support.design.widget.appbarlayout$scrollingviewbehavior.onlayoutchild(appbarlayout.java:1391)                                                                           @ android.support.design.widget.coordinatorlayout.onlayout(coordinatorlayout.java:870)                                                                           @ android.view.view.layout(view.java:17637)                                                                           @ android.view.viewgroup.layout(viewgroup.java:5575)                                                                           @ android.support.v4.widget.drawerlayout.onlayout(drawerlayout.java:1193)                                                                           @ android.view.view.layout(view.java:17637)                                                                           @ android.view.viewgroup.layout(viewgroup.java:5575)                                                                           @ android.widget.framelayout.layoutchildren(framelayout.java:323)                                                                           @ android.widget.framelayout.onlayout(framelayout.java:261)                                                                           @ android.view.view.layout(view.java:17637)                                                                           @ android.view.viewgroup.layout(viewgroup.java:5575)                                                                           @ android.widget.linearlayout.setchildframe(linearlayout.java:1741)                                                                           @ android.widget.linearlayout.layoutvertical(linearlayout.java:1585)                                                                           @ android.widget.linearlayout.onlayout(linearlayout.java:1494)                                                                           @ android.view.view.layout(view.java:17637)                                                                           @ android.view.viewgroup.layout(viewgroup.java:5575)                                                                           @ android.widget.framelayout.layoutchildren(framelayout.java:323)                                                                           @ android.widget.framelayout.onlayout(framelayout.java:261)                                                                           @ android.view.view.layout(view.java:17637)                                                                           @ android.view.viewgroup.layout(viewgroup.java:5575) 04-07 18:47:59.494 5581-5581/com.example.sander.app e/androidruntime:     @ android.widget.linearlayout.setchildframe(linearlayout.java:1741)                                                                           @ android.widget.linearlayout.layoutvertical(linearlayout.java:1585)                                                                           @ android.widget.linearlayout.onlayout(linearlayout.java:1494)                                                                           @ android.view.view.layout(view.java:17637)                                                                           @ android.view.viewgroup.layout(viewgroup.java:5575)                                                                           @ android.widget.framelayout.layoutchildren(framelayout.java:323)                                                                           @ android.widget.framelayout.onlayout(framelayout.java:261)                                                                           @ com.android.internal.policy.decorview.onlayout(decorview.java:726)                                                                           @ android.view.view.layout(view.java:17637)                                                                           @ android.view.viewgroup.layout(viewgroup.java:5575)                                                                           @ android.view.viewrootimpl.performlayout(viewrootimpl.java:2346)                                                                           @ android.view.viewrootimpl.performtraversals(viewrootimpl.java:2068)                                                                           @ android.view.viewrootimpl.dotraversal(viewrootimpl.java:1254)                                                                           @ android.view.viewrootimpl$traversalrunnable.run(viewrootimpl.java:6337)                                                                           @ android.view.choreographer$callbackrecord.run(choreographer.java:874)                                                                           @ android.view.choreographer.docallbacks(choreographer.java:686)                                                                           @ android.view.choreographer.doframe(choreographer.java:621)                                                                           @ android.view.choreographer$framedisplayeventreceiver.run(choreographer.java:860)                                                                           @ android.os.handler.handlecallback(handler.java:751)                                                                           @ android.os.handler.dispatchmessage(handler.java:95)                                                                           @ android.os.looper.loop(looper.java:154)                                                                           @ android.app.activitythread.main(activitythread.java:6119)                                                                           @ java.lang.reflect.method.invoke(native method)                                                                           @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:886)                                                                           @ com.android.internal.os.zygoteinit.main(zygoteinit.java:776) 

replace these

arraylist<string> names = new arraylist<>(); arraylist<integer> cpoints = new arraylist<>(); 

with

static class point {     string name;     int points; }  list<point> points = new arraylist<>(); 

and make recyclerview use point class instead of needing more 1 list.

private list<point> mpoints; public recycleadapter(list<point> points){     mpoints = points; } 

ideally, use gson create java objects directly json.


Comments

Popular posts from this blog

How to understand 2 main() functions after using uftrace to profile the C++ program? -

c# - Update a combobox from a presenter (MVP) -

How to put a lock and transaction on table using spring 4 or above using jdbcTemplate and annotations like @Transactional? -