when access method directly on pageradapter
creation have getviewatposition()
method. when try using reference, can't. may acecces reference?
here can: 1:
here can't: 2:
public class cardapioru extends fragment { private viewpager mpager; private pageradapter mpageradapter; @override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { viewgroup rootview = (viewgroup) inflater.inflate(r.layout.view_pager_ru, container, false); mpager = (viewpager) rootview.findviewbyid(r.id.pager); mpageradapter = new pageradapterru(inflater); mpager.setadapter(mpageradapter); return rootview; } }
.
public class pageradapterru extends pageradapter { private view domingo = null; private view segunda = null; @suppresslint("inflateparams") public pageradapterru(layoutinflater inflater) { domingo = inflater.inflate(r.layout.ru_domingo, null); segunda = inflater.inflate(r.layout.ru_segunda, null); } public view getviewatposition(int position) { view view = null; if (position == 0) { view = domingo; } if (position == 1) { view = segunda; } ; return view; }; @override public object instantiateitem(view collection, int position) { view view = getviewatposition(position); ((viewpager) collection).addview(view, 0); return view; } @override public int getcount() { return 2; }
getviewatposition()
method of pageradapterru
.
on first screenshot you're calling method directly on pageradapterru
instance, on second screenshot you're calling on pageradapter
.
it doesn't matter how you've initialized it, you've declared pageradapter
, have access methods of pageradapter
.
to have access methods of subclass, declare type of subclass.
change following:
private pageradapter mpageradapter;
to this:
private pageradapterru mpageradapter;
and you'll able call getviewatposition()
on mpageradapter
.
Comments
Post a Comment