android - how to get access of my button in one of my viewpager pages? -
i'm new android , java.
my viewpager can slide xml layout, don't know how access item in them.
i tried using button mybutton = (button) findviewbyid (r.layout.result)
, set onclicklistener
in mybutton, forced close every time run it.
here code:
public class main extends activity { private viewpager myviewpager; private viewpageradapter myviewpageradapter; private static int num_awesome_views = 12; button button_1; @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); myviewpageradapter = new viewpageradapter(); myviewpager = (viewpager) findviewbyid(r.id.myviewpager); myviewpager.setadapter(myviewpageradapter); button_1 = (button) myviewpager.findviewbyid(r.id.first_button); button_1.setonclicklistener(new onclicklistener() { public void onclick(view v) { finish(); } }); } private class viewpageradapter extends pageradapter { @override public int getcount() { return num_awesome_views; } @override public object instantiateitem(view collection, int position) { layoutinflater layoutinflater = getlayoutinflater(); view view; view = layoutinflater.inflate(r.layout.page1, null); switch (position) { case 0 : view = layoutinflater.inflate(r.layout.page1, null); break; case 1 : view = layoutinflater.inflate(r.layout.page2, null); break; case 2 : view = layoutinflater.inflate(r.layout.page3, null); break; case 3 : view = layoutinflater.inflate(r.layout.page4, null); break; case 4 : view = layoutinflater.inflate(r.layout.page5, null); break; case 5 : view = layoutinflater.inflate(r.layout.page6, null); break; case 6 : view = layoutinflater.inflate(r.layout.page7, null); break; case 7 : view = layoutinflater.inflate(r.layout.page8, null); break; case 8 : view = layoutinflater.inflate(r.layout.page9, null); break; case 9 : view = layoutinflater.inflate(r.layout.page10, null); break; case 10 : view = layoutinflater.inflate(r.layout.page11, null); break; case 11 : view = layoutinflater.inflate(r.layout.result, null);break; } ((viewpager) collection).addview(view,0); return view; } @override public void destroyitem(view collection, int position, object view) { ((viewpager) collection).removeview((view) view); } @override public boolean isviewfromobject(view view, object object) { return view==((view)object); } @override public void finishupdate(view arg0) {} @override public void restorestate(parcelable arg0, classloader arg1) {} @override public parcelable savestate() { return null; } @override public void startupdate(view arg0) {} }
it may problem, items not found try this(if view no linearlayout change it)
layoutinflater getview = (layoutinflater)getapplicationcontext().getsystemservice(context.layout_inflater_service); linearlayout view1 =(linealayout)getview.inflate(r.layout.your_view,null);
but button may throw exception furthermore there onclicklistener set it. if it's button define in xml:
android:onclick"buttonclick"
then in code
public void buttonclick(view v){ // }
if not possible because need reference button later, stuck same problem , know how works.
Comments
Post a Comment