android - use one fragment with different data in viewPager doesn't work -


this viewpager

private class viewpageradapter extends fragmentpageradapter{         private final list<fragment> mfragmentlist = new arraylist<>();         private final list<string> mfragmenttitlelist = new arraylist<>();           viewpageradapter(fragmentmanager fm) {             super(fm);         }          @override         public fragment getitem(int position) {             return mfragmentlist.get(position);         }          @override         public int getcount() {             return mfragmentlist.size();         }         void addfragment(fragment fragment, string title){             mfragmentlist.add(fragment);             mfragmenttitlelist.add(title);         }          @override         public charsequence getpagetitle(int position){             return mfragmenttitlelist.get(position);         }     } 

and in main activity,

public void setupviewpager() {     viewpageradapter adapter = new viewpageradapter(getsupportfragmentmanager());     adapter.addfragment(nowplayingfragment.newinstance(0), getstring(r.string.now_playing));     adapter.addfragment(nowplayingfragment.newinstance(1), getstring(r.string.up_coming));     adapter.addfragment(nowplayingfragment.newinstance(2), getstring(r.string.popular));     mviewpager.setadapter(adapter); 

and fragment.

public static nowplayingfragment newinstance(int titleid){     nowplayingfragment fragment = new nowplayingfragment();     bundle args = new bundle();     args.putint("title_flag", titleid);     nowplayingfragment.titleid = titleid;     fragment.setarguments(args);     return fragment; }    @override public void oncreate(@nullable bundle savedinstancestate) {     super.oncreate(savedinstancestate);     args = savedinstancestate;     mcontext = getcontext();  }  @nullable @override public view oncreateview(layoutinflater inflater, @nullable viewgroup container, @nullable bundle savedinstancestate) {     view view = inflater.inflate(r.layout.fragment_now_playing, container, false);     munbinder = butterknife.bind(this, view);     map<string, string> querystring;     querystring = apiutils.getquerystrings(mcontext);     uri uri;     int titleid1 = 0;     if (args != null) {          titleid1 = args.getint("title_flag");     }     log.d("tag", "titleid = " + titleid1);     switch (titleid1){         case 0:             uri = apiutils.getnowplayinguri(mcontext, querystring);             break;         case 1:             uri = apiutils.getupcominguri(mcontext, querystring);             break;         case 2:             uri = apiutils.getpopularuri(mcontext, querystring);             break;         default:             uri = apiutils.getnowplayinguri(mcontext, querystring);             break;     }      new loaddiscoverlist(getcontext()).execute(uri);      return view; } 

i try list 3 different movie list (now playing, upcoming, popular). shows playing list on 3 pages.

it seems passing data main activity fragment not working property, or store fragment argument problem. can't find cause issue , don't know how fix it.

the problem here args = savedinstancestate; should args = getarguments(); - @ present default list in switch statement honoured. savedinstancestate configuration changes, want fragment arguments added static fragment generator method.


Comments

Popular posts from this blog

php - Permission denied. Laravel linux server -

google bigquery - Delta between query execution time and Java query call to finish -

python - Pandas two dataframes multiplication? -