text - android - textswitcher in fragment -
using horizontalpaging example in android studio, put 2 activities, tab1.java , tab2.java. , want put textswitcher in both activity. but, textview(tab1.this) in tab1.java make error. , think has problems. how can make codes work?
mainactivity.java
public class mainactivity extends fragmentactivity implements actionbar.tablistener { sectionspageradapter msectionspageradapter; viewpager mviewpager; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.sample_main); final actionbar actionbar = getactionbar(); actionbar.setnavigationmode(actionbar.navigation_mode_tabs); msectionspageradapter = new sectionspageradapter( getsupportfragmentmanager()); // set viewpager sections adapter. mviewpager = (viewpager) findviewbyid(r.id.pager); mviewpager.setadapter(msectionspageradapter); mviewpager .setonpagechangelistener(new viewpager.simpleonpagechangelistener() { @override public void onpageselected(int position) { actionbar.setselectednavigationitem(position); } }); (int = 0; < msectionspageradapter.getcount(); i++) { actionbar.addtab(actionbar.newtab() .settext(msectionspageradapter.getpagetitle(i)) .settablistener(this)); } } @override public void ontabselected(actionbar.tab tab, fragmenttransaction fragmenttransaction) { // when given tab selected, switch corresponding page in // viewpager. mviewpager.setcurrentitem(tab.getposition()); } @override public void ontabunselected(actionbar.tab tab, fragmenttransaction fragmenttransaction) { } @override public void ontabreselected(actionbar.tab tab, fragmenttransaction fragmenttransaction) { } public class sectionspageradapter extends fragmentpageradapter { context mcontext; public sectionspageradapter(fragmentmanager fm) { super(fm); } @override public fragment getitem(int position) { switch(position) { case 0: return new tab1(mcontext); case 1: return new tab2(mcontext); } return null; } @override public int getcount() { // show 3 total pages. return 2; } @override public charsequence getpagetitle(int position) { locale l = locale.getdefault(); switch (position) { case 0: return getstring(r.string.title_section1).touppercase(l); case 1: return getstring(r.string.title_section2).touppercase(l); } return null; } } public static class dummysectionfragment extends fragment { public static final string arg_section_number = "section_number"; public dummysectionfragment() { } @override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { view rootview = inflater.inflate(r.layout.fragment_main_dummy, container, false); textview dummytextview = (textview) rootview .findviewbyid(r.id.section_label); dummytextview.settext(integer.tostring(getarguments().getint( arg_section_number))); return rootview; } }} tab1.java
public class tab1 extends fragment { context mcontext; public tab1(context context) { mcontext = context; } private textswitcher mswitcher; button button1; string texttoshow[]={"st1","st2","st3","st4","st5","st6"}; int messagecount=texttoshow.length; int currentindex=-1; public view oncreateview(layoutinflater inflater, viewgroup container,bundle savedinstancestate) { view view = inflater.inflate(r.layout.activity_tab1, null); super.oncreate(savedinstancestate); button1=(button)view.findviewbyid(r.id.button1); mswitcher = (textswitcher) view.findviewbyid(r.id.textswitcher); mswitcher.setfactory(new viewswitcher.viewfactory() { @override public view makeview() { textview mytext = new textview(tab1.this); mytext.setgravity(gravity.top | gravity.center_horizontal); mytext.settextsize(36); return mytext; }}); button1.setonclicklistener(new view.onclicklistener() { public void onclick(view v) { // todo auto-generated method stub currentindex++; // if index reaches maximum reset if (currentindex == messagecount) currentindex = 0; mswitcher.settext(texttoshow[currentindex]); }}); return view; } } activity_tab1.xml
<textswitcher android:layout_margintop="50dp" android:id="@+id/textswitcher" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" /> <button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="next" android:layout_alignparentbottom="true" android:layout_alignparentright="true" android:layout_alignparentend="true" android:singleline="false" android:typeface="normal" />
Comments
Post a Comment