android - Why fragment not working -
i want change text in textview in fragment , can in instantiateitem , after instantiateitem , textview null , can not call
mypageradapter.textview.settext();
private class mypageradapter extends pageradapter { textview textview; public int getcount() { return 5; } public object instantiateitem(view collection, int position) { layoutinflater inflater = (layoutinflater) collection.getcontext() .getsystemservice(context.layout_inflater_service); int resid = 0; switch (position) { case 0: resid = r.layout.farleft; view view = inflater.inflate(resid, null); ((viewpager) collection).addview(view, 0); textview = (textview)view.findviewbyid(r.id.textvvvv); return view; case 1: resid = r.layout.left; break; case 2: resid = r.layout.middle; break; case 3: resid = r.layout.right; break; case 4: resid = r.layout.farright; break; } } @override public void destroyitem(view arg0, int arg1, object arg2) { ((viewpager) arg0).removeview((view) arg2); } @override public boolean isviewfromobject(view arg0, object arg1) { return arg0 == ((view) arg1); } @override public parcelable savestate() { return null; } } but , starnge here when change text in instantiateitem
textview.settext("eee"); it works , can not change text outside mypageadapter, why ?
mypageradapter not static , access method used static classes. try instantiating pageradapter , use reference call getadapter() method , try locate view using findviewbyid(....)
edit:
when declare pageradapter in activity, try reference of adapter it, below
pageradapter viewer = (pageradapter) findviewbyid(r.id.pageradapter); -->
viewer.getadapter().findviewbyid(...)
Comments
Post a Comment