Packagecom.example.actionBarTest.actionBarList;ImportAndroid.app.ActionBar;Importandroid.app.Activity;Importandroid.app.Fragment;ImportAndroid.os.Bundle;ImportAndroid.widget.ArrayAdapter;ImportAndroid.widget.SpinnerAdapter;ImportCOM.EXAMPLE.ACTIONBARTEST.R;Importjava.util.ArrayList;Importjava.util.List;/*** Created by Heyiyong on 2014-5-2 morning 9:50.*/ Public classListnavigationactivityextendsActivityImplementsActionbar.onnavigationlistener {PrivateList<fragment>fragments; PrivateString[] Navs = {"Add", "delete", "edit", "Query", "more"}; PrivateSpinneradapter Spinneradapter; Public voidonCreate (Bundle savedinstancestate) {Super. OnCreate (savedinstancestate); Setcontentview (R.layout.tab_main); Spinneradapter=NewArrayadapter<string> ( This, Android. R.layout.simple_list_item_1, Navs); Homefragment homefragment=Newhomefragment (); Musicfragment musicfragment=Newmusicfragment (); Videofragment videofragment=Newvideofragment (); Fragments=NewArraylist<fragment>(); Fragments.add (homefragment); Fragments.add (musicfragment); Fragments.add (homefragment); Fragments.add (videofragment); Fragments.add (homefragment); ActionBar ActionBar=Getactionbar (); if(ActionBar! =NULL) {Actionbar.setnavigationmode (actionbar.navigation_mode_list); Actionbar.setlistnavigationcallbacks (Spinneradapter, This); }} @Override Public BooleanOnnavigationitemselected (intItemposition,LongitemId) {System.out.println ("Itemposition =" +itemposition); Getfragmentmanager (). BeginTransaction (). replace (R.id.tab_main, Fragments.get (itemposition)). commit (); return true; }}
Actionbar.setlistnavigationcallbacks (Spinneradapter, this);
This arrayadapter is inherited from the Baseadapter, and Baseadapter realizes the Spinneradapter interface.