android - How to get Support Action Bar inside a Master/Detail Fragment to set NAVIGATION_MODE_TABS? -


right have typical master/detail pattern, inside detail area supposed display kind of tabs structure viewpager in order implement swipe functionality change between tabs.

in single-pane-mode (when using devices) inside detail area, deploy areadetailactivity. inside of activity call supportactionbar (v7), set navigation mode, , set tabs, this:

public class areadetailactivity extends actionbaractivity implements actionbar.tablistener {          private viewpageradapter viewpageradapter;     private viewpager viewpager;          @suppresswarnings("deprecation")     @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview( r.layout.view_pager );          string idtipoareaactual = getintent().getstringextra(  areadetailfragment.arg_item_id );          final actionbar actionbar = getsupportactionbar();         actionbar.setnavigationmode( actionbar.navigation_mode_tabs );          //adapter returns selected fragment         viewpageradapter = new viewpageradapter( this, idtipoareaactual, getsupportfragmentmanager() );          viewpager = (viewpager) findviewbyid( r.id.view_pager );         viewpager.setadapter( viewpageradapter );          viewpager.setonpagechangelistener( new viewpager.simpleonpagechangelistener(){             @override             public void onpageselected( int position ){                 actionbar.setselectednavigationitem( position );             }         });          actionbar.addtab( actionbar.newtab().settext("tab1").settablistener(this) );         actionbar.addtab( actionbar.newtab().settext("tab2").settablistener(this) );     }      @override     public void ontabreselected(tab tab, fragmenttransaction fragmenttransaction) {     }      @override     public void ontabselected(tab tab, fragmenttransaction fragmenttransaction) {         viewpager.setcurrentitem( tab.getposition() );     }      @override     public void ontabunselected(tab arg0, fragmenttransaction arg1){             } } 

the above code works perfectly, need way implement same functionality in two-pane-mode (actually tablet screen). in two-pane detail area deploys fragment, need call support action bar , implements swipe functionality using viewpager, when cast actionbar areadetailactivity (thet extends actionbaractivity), shows casting error. areadetailfragment displayed in two-pane-mode:

public class areadetailfragment extends fragment implements actionbar.tablistener {      private activity activity;     private viewpageradapter viewpageradapter;     private viewpager viewpager;      public areadetailfragment( activity activity ) {         this.activity = activity;     }         @override     public void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         sethasoptionsmenu( true );     }      @override      public void oncreateoptionsmenu(menu menu, menuinflater menuinflater){         super.oncreateoptionsmenu(menu, menuinflater);         menuinflater.inflate(r.menu.ccmaction_bar, menu);     }         @override     public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) {         view view = inflater.inflate( r.layout.view_pager, container, false );           return view;     }      @override     public void onviewcreated(view view, bundle savedinstancestate){         super.onviewcreated(view, savedinstancestate);          string idtipoareaactual = getarguments().getstring( areadetailfragment.arg_item_id );          final actionbar actionbar = ( (areadetailactivity) getactivity()).getsupportactionbar();         actionbar.setnavigationmode( actionbar.navigation_mode_tabs );          viewpageradapter = new viewpageradapter( getactivity().getapplicationcontext(), idtipoareaactual, getchildfragmentmanager() );          viewpager = (viewpager) view.findviewbyid( r.id.view_pager );         viewpager.setadapter( viewpageradapter );                 viewpager.setonpagechangelistener( new viewpager.simpleonpagechangelistener(){             @override             public void onpageselected( int position ){                 actionbar.setselectednavigationitem( position );             }         });       }       @override     public void ontabreselected(tab tab, fragmenttransaction fragmenttransaction) {     }      @override     public void ontabselected(tab tab, fragmenttransaction fragmenttransaction) {         viewpager.setcurrentitem( tab.getposition() );     }      @override     public void ontabunselected(tab arg0, fragmenttransaction arg1){             } } 

any ideas??? time!!!

nice tutorial swipe/tap/pages: http://indyvision.net/2014/08/android-tutorial-screen-with-tabs-and-swipe-part-i/

technical information action bar: http://developer.android.com/guide/topics/ui/actionbar.html

un buen tutorial sobre swipe/tap/pages: http://indyvision.net/2014/08/android-tutorial-screen-with-tabs-and-swipe-part-i/

información técnica sobre action bar: http://developer.android.com/guide/topics/ui/actionbar.html


Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -

How to provide Authorization & Authentication using Asp.net, C#? -