android viewpager - refresh listView by clicking outside of it -


i have viewpager adapter extends fragmentstatepageradapter, has show fragment repeats same layout (in whic there listview) every page ... problem how can update listview visible clicking on button outside of fragment? can refresh ones in not visible pages,but not ones displayed or adjacent... 1 possible solution reset adapter, doesn't seems right one, because it' s slow... please me?

  public class mainactivity extends fragmentactivity implements onclicklistener{      @override     protected void oncreate(bundle arg0) {             // todo auto-generated method stub             super.oncreate(arg0);             setcontentview(r.layout.layout1);              pageradapter = new adapterpager(getsupportfragmentmanager());             ctx=this;           mviewpager = (viewpager) findviewbyid(r.id.pager);             mviewpager.setadapter(pageradapter);             pagertab=(pagertabstrip) findviewbyid(r.id.pager_tab_strip);            mviewpager.setcurrentitem(paginacentrale);             modifica=(imageview)findviewbyid(r.id.modifica);          modifica.setonclicklistener(this);       }      @override     public void onclick(view arg0) {             // todo onclick             switch (arg0.getid()){             case r.id.modifica:                   //here call method caricalista() of fragment              break;             }     }       public static class adapterpager extends fragmentstatepageradapter {    public adapterpager(fragmentmanager fm) {             super(fm);         }          @override             public int getitemposition(object object) {                     // todo auto-generated method stub                      return super.getitemposition(object);             }               @override         public fragment getitem(int i) {             fragment fragment;             bundle args = new bundle();           args.putint("position", i);             fragment=new fragment1();           fragment.setarguments(args);      return fragment;         }          @override         public int getcount() {             return 1000;}          @override         public charsequence getpagetitle(int i) {             string title=string.valueof(i);              return title;         }       }   public static class fragment1 extends fragment implements onitemclicklistener{  int fragmentposition; listview lv;       list<lista> lista= new arraylist<lista>();        public fragment1(){               }           public static fragment1 newinstance(){             return new fragment1();           }    @override             public void onresume() {                     // todo auto-generated method stub                     super.onresume();                     caricalista("")}             }     @override public view oncreateview(layoutinflater inflater, viewgroup container,bundle savedinstancestate)    {             view rootview = inflater.inflate(r.layout.fragment1, container, false);  lv=(listview) rootview.findviewbyid(r.id.listviewcompiti);              bundle args = getarguments();              int position=  args.getint("position");              fragmentposition=position;             lv.setonitemclicklistener(this);      homelistadapter= new homelistadapterwithcache(ctx,r.layout.list_item_home,lista);                     lv.setadapter(homelistadapter);        return rootview; } 

you have store current fragment mainactivity , , change every time page changes. call method of current fragments.

check out how mainactivity should like:

public class mainactivity extends fragmentactivity implements onclicklistener{      &fragment mcurrentfragment;*      protected void oncreate(bundle arg0) {         super.oncreate(arg0);         setcontentview(r.layout.layout1);         pageradapter = new adapterpager(getsupportfragmentmanager());         ctx=this;         mviewpager = (viewpager) findviewbyid(r.id.pager);         mviewpager.setadapter(pageradapter);         pagertab=(pagertabstrip) findviewbyid(r.id.pager_tab_strip);         mviewpager.setcurrentitem(paginacentrale);         modifica=(imageview)findviewbyid(r.id.modifica);         modifica.setonclicklistener(this);          *mviewpager.setonpagechangelistener(new viewpager.simpleonpagechangelistener() {             @override             public void onpageselected(int position) {             mcurrentfragment = pageradapter.getitem(position);             }*      });   @override     public void onclick(view arg0) {             // todo onclick         switch (arg0.getid()){         case r.id.modifica:             *mcurrentfragment.caricalista();*         break;         } }  } 

Comments

Popular posts from this blog

php - Calling a template part from a post -

Firefox SVG shape not printing when it has stroke -

How to mention the localhost in android -