android - Why is ViewPager doesn't running class? -


i have activity has viewpager, following:

public class timetables extends fragmentactivity {  private viewpager viewpager;  private relativelayout page1; private relativelayout page2;  @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_timetables);     intent intenttimetables = getintent();     settitle(global.linename);      viewpager = (viewpager) findviewbyid(r.id.pager);     viewpager.setadapter(new mainpageadapter()); }   class mainpageadapter extends pageradapter {      @override     public int getcount() {         return 2;     }      @override     public object instantiateitem(viewgroup collection, int position) {         view page;         switch (position) {             case 0:                 if (page1 == null) {                     page1 = (relativelayout) layoutinflater.from(timetables.this).inflate(r.layout.activity_timetable_1, collection, false);                 }                 page = page1;                 break; ((viewpager) collection).addview(page, 0);          return page;     } } 

and when run it, loads activity_timetable_1, doesn't run code have in class, example:

public class timetable_1 extends fragmentactivity {  @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_timetable_1);      gridview gridworking = (gridview) findviewbyid(r.id.gridworking);     gridworking.setadapter(new textadapter(this));  } } 

could tell me doing wrong? thank much

  if (page1 == null) {                 page1 = (relativelayout) layoutinflater.from(ctx).inflate(r.layout.activity_timetable_1, collection, false);             } 

do expect when inflates custom view have called?

replace with:

  if (page1 == null) {                 page1 = new activity1form(this);             } 

activity1form = timetable_1

also, extends viewgroup instead of fragmentactivity @ timetable_1, should modify class, remove oncreate , place code inside on constructor.

public class activity1form extends viewgroup {  public activity1form(context ctx) {     layoutinflater.from(timetables.this).inflate(r.layout.activity_timetable_1, collection, true);      gridview gridworking = (gridview) findviewbyid(r.id.gridworking);     gridworking.setadapter(new textadapter(this));  } } 

you should instantiate class instead of layout.

edit:

also, activity_1 (awful name way), activity , cant placed inside activity or used fragment, must extende fragment or view (or view child such relativelayout/viewgroup)


Comments