android - java.lang.IllegalArgumentException: ViewPager does not have a PagerAdapter set -


**i trying add swipe tab dynamically, while adding tab setupwithviewpager shows below exception in tablayout.setupwithviewpager(viewpager)

03-17 15:01:24.593 3683-3718/info.androidhive.materialtabs i/openglrenderer: initialized egl, version 1.4 03-17 15:01:24.611 3683-3718/info.androidhive.materialtabs d/openglrenderer: enabling debug mode 0 03-17 15:01:24.691 3683-3683/info.androidhive.materialtabs i/timeline: timeline: activity_idle id: android.os.binderproxy@3feea074 time:133990912 03-17 15:01:26.807 3683-3683/info.androidhive.materialtabs i/timeline: timeline: activity_launch_request id:info.androidhive.materialtabs time:133993028 03-17 15:01:26.854 3683-3683/info.androidhive.materialtabs d/action: called in setviewpager 03-17 15:01:26.857 3683-3683/info.androidhive.materialtabs d/androidruntime: shutting down vm 03-17 15:01:26.862 3683-3683/info.androidhive.materialtabs e/androidruntime: fatal exception: main                                                                              process: info.androidhive.materialtabs, pid: 3683                                                                              java.lang.runtimeexception: unable start activity componentinfo{info.androidhive.materialtabs/info.androidhive.materialtabs.activity.customviewtabsactivity}: java.lang.illegalargumentexception: viewpager not have pageradapter set                                                                                  @ android.app.activitythread.performlaunchactivity(activitythread.java:2379)                                                                                  @ android.app.activitythread.handlelaunchactivity(activitythread.java:2442)                                                                                  @ android.app.activitythread.access$800(activitythread.java:156)                                                                                  @ android.app.activitythread$h.handlemessage(activitythread.java:1351)                                                                                  @ android.os.handler.dispatchmessage(handler.java:102)                                                                                  @ android.os.looper.loop(looper.java:211)                                                                                  @ android.app.activitythread.main(activitythread.java:5371)                                                                                  @ java.lang.reflect.method.invoke(native method)                                                                                  @ java.lang.reflect.method.invoke(method.java:372)                                                                                  @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:945)                                                                                  @ com.android.internal.os.zygoteinit.main(zygoteinit.java:740)                                                                               caused by: java.lang.illegalargumentexception: viewpager not have pageradapter set                                                                                  @ android.support.design.widget.tablayout.setupwithviewpager(tablayout.java:591)                                                                                  @ info.androidhive.materialtabs.activity.customviewtabsactivity.oncreate(customviewtabsactivity.java:66)                                                                                  @ android.app.activity.performcreate(activity.java:5990)                                                                                  @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1106)                                                                                  @ android.app.activitythread.performlaunchactivity(activitythread.java:2332)                                                                                  @ android.app.activitythread.handlelaunchactivity(activitythread.java:2442)                                                                                   @ android.app.activitythread.access$800(activitythread.java:156)                                                                                   @ android.app.activitythread$h.handlemessage(activitythread.java:1351)                                                                                   @ android.os.handler.dispatchmessage(handler.java:102)                                                                                   @ android.os.looper.loop(looper.java:211)                                                                                   @ android.app.activitythread.main(activitythread.java:5371)                                                                                   @ java.lang.reflect.method.invoke(native method)                                                                                   @ java.lang.reflect.method.invoke(method.java:372)                                                                                   @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:945)                                                                                   @ com.android.internal.os.zygoteinit.main(zygoteinit.java:740)  

**

 import java.sql.connection;     import java.sql.resultset;     import java.sql.statement;     import java.util.arraylist;     import java.util.iterator;     import java.util.list;     public class customviewtabsactivity extends appcompatactivity {     private toolbar toolbar;     private viewpager viewpager;     private tablayout tablayout;     arraylist<string> tabledata = null;     arraylist<arraylist> tablist=new  arraylist< arraylist>();     //private arraylist<string> tablist = new arraylist<>();      connection connection;     statement statement;     connectionclass connectionclass;           @override         protected void oncreate(bundle saveinstancestate) {             super.oncreate(saveinstancestate);             setcontentview(r.layout.custom_swipetab);              toolbar = (toolbar) findviewbyid(r.id.toolbar);             setsupportactionbar(toolbar);             getsupportactionbar().sethomebuttonenabled(true);             // viewpager viewpager;             viewpager = (viewpager)findviewbyid(r.id.viewpager);             setupviewpager(viewpager);              tablayout = (tablayout) findviewbyid(r.id.tabs);           tablayout.setupwithviewpager(viewpager);---->>(here got exceptions)              try {                 connection = connectionclass.conn();                 log.d("data", "connected" + connection);``                  string tabquery = "select attribute_name tbl_prd_attributes                                        screen_id=637 , entry_mode='header' ";                 statement = connection.createstatement();                 log.d("action", "statement created");                 resultset resultset = null;                 resultset = statement.executequery(tabquery);                  while (resultset.next()) {                     tabledata = new arraylist<string>();                     tabledata.add(resultset.getstring(1));                     tablist.add(tabledata);                    // tablayout.setupwithviewpager(viewpager);                 }                 log.d("data","in tablist"+tablist);                 setupviewpager(viewpager);             } catch (exception e) {                 log.e("error", "connection error" + e.getmessage());             }         }         private void setupviewpager(viewpager viewpager) {             log.d("action","called in setviewpager");             viewpageradapter adapter = new viewpageradapter(getsupportfragmentmanager());             iterator iterator = tablist.iterator();             arraylist<string> getdata = null;             while (iterator.hasnext()) {                 getdata = (arraylist) iterator.next();                 log.d("action","in while");                 (int k = 0; k < getdata.size(); k++) {                     string tableviewer = getdata.get(k);                     adapter.addfrag(new onefragment(), "one");                     adapter.addfrag(new tenfragment(), tableviewer);                     log.d("action", "in tabcreation");                     log.d("data","created tab is"+tableviewer);                     viewpager.setadapter(adapter);                 }             }         }         public class viewpageradapter extends fragmentstatepageradapter {             private final list<fragment> mfragmentlist = new arraylist<>();             private final list<string> mfragmenttitlelist = new arraylist<>();              public viewpageradapter(fragmentmanager manager) {                 super(getsupportfragmentmanager());             }              public fragment getitem(int position) {                 return mfragmentlist.get(position);             }             public int getcount() {                 return mfragmentlist.size();             }             public void addfrag(fragment fragment, string title) {                 mfragmentlist.add(fragment);                 log.d("data", "fragmentlist" + mfragmentlist);                 mfragmenttitlelist.add(title);                 log.d("data", "fragmenttitlelist" + mfragmenttitlelist);             }             @override             public charsequence getpagetitle(int position) {                 return mfragmenttitlelist.get(position);             }         }     } 

move tablayout.setupwithviewpager(viewpager) below second call of setupviewpager(viewpager), after tabledata has been added. reason:

you calling setupviewpager(viewpager) before add tabledata tablist, when trying iterate on it, iterator empty , never call viewpager.setadapter(adapter), why getting error.


Comments

Popular posts from this blog

java - Run spring boot application error: Cannot instantiate interface org.springframework.context.ApplicationListener -

reactjs - React router and this.props.children - how to pass state to this.props.children -

Excel VBA "Microsoft Windows Common Controls 6.0 (SP6)" Location Changes -