Tablaturas de Android ActionBar – Pase

Sería bueno, si pudiera pasar entre las pestañas que tenía en mi barra de acción.

He seguido este tutorial: http://developer.android.com/training/implementing-navigation/lateral.html pero no funcionará. 🙁 No puedo deslizar con un gesto entre las pestañas.

Aquí está mi actividad principal:

public class Hauptmenue_extended extends ActionBarActivity implements android.content.DialogInterface.OnClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_hauptmenue_extended); try { mPullToRefreshAttacher = PullToRefreshAttacher.get(this); actionBar = getSupportActionBar(); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setHomeButtonEnabled(true); mAdapter = new TabsPagerAdapter(getSupportFragmentManager()); mViewPager = (ViewPager) findViewById(R.id.pager); mViewPager.setAdapter(mAdapter); Tab tabB = actionBar.newTab(); tabB.setText("Home"); tabB.setIcon(R.drawable.icon_home); tabB.setTabListener(new TabListener<Startmenue_activity>(this, "Start", Startmenue_activity.class, this.mViewPager)); actionBar.addTab(tabB); Tab tabA = actionBar.newTab(); tabA.setText(""); tabA.setIcon(R.drawable.icon_nachrichten_sel); tabA.setTabListener(new TabListener<Nachrichten_activity>(this, "Nachrichten", Nachrichten_activity.class, this.mViewPager)); actionBar.addTab(tabA); Tab tabC = actionBar.newTab(); tabC.setText(""); tabC.setIcon(R.drawable.icon_favoriten); tabC.setTabListener(new TabListener<Favoriten_activity>(this, "Favoriten", Favoriten_activity.class, this.mViewPager)); actionBar.addTab(tabC); this.conEinst = new conEinstellungen(getBaseContext()); } catch (Exception ex) { ex.printStackTrace(); // HelperClassAlertDialog.zeigeInfoDialog(this, "Error...", } } public class TabsPagerAdapter extends FragmentPagerAdapter { public TabsPagerAdapter(FragmentManager fm) { super(fm); } public Fragment getItem(int index) { switch (index) { case 0: // Top Rated fragment activity return new Startmenue_activity(); case 1: // Games fragment activity return new Nachrichten_activity(); case 2: // Movies fragment activity return new Favoriten_activity(); } return null; } public int getCount() { // get item count - equal to number of tabs return 3; } } 

Y este es el XML:

 <android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/pager" android:layout_width="match_parent" android:layout_height="match_parent" > <android.support.v4.view.PagerTabStrip android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="top" /> </android.support.v4.view.ViewPager> 

Esto funciona perfectamente, se deslizará entre pestañas:

MainActivity :

 public class MainActivity extends FragmentActivity implements ActionBar.TabListener { CollectionPagerAdapter mCollectionPagerAdapter; ViewPager mViewPager; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mCollectionPagerAdapter = new CollectionPagerAdapter( getSupportFragmentManager()); final ActionBar actionBar = getActionBar(); actionBar.setHomeButtonEnabled(false); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); mViewPager = (ViewPager) findViewById(R.id.pager); mViewPager.setAdapter(mCollectionPagerAdapter); mViewPager .setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() { @Override public void onPageSelected(int position) { actionBar.setSelectedNavigationItem(position); } }); for (int i = 0; i < mCollectionPagerAdapter.getCount(); i++) { actionBar.addTab(actionBar.newTab() .setText(mCollectionPagerAdapter.getPageTitle(i)) .setTabListener(this)); } } public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { } public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { mViewPager.setCurrentItem(tab.getPosition()); } public void onTabReselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { } public class CollectionPagerAdapter extends FragmentPagerAdapter { final int NUM_ITEMS = 3; // number of tabs public CollectionPagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int i) { Fragment fragment = new TabFragment(); Bundle args = new Bundle(); args.putInt(TabFragment.ARG_OBJECT, i); fragment.setArguments(args); return fragment; } @Override public int getCount() { return NUM_ITEMS; } @Override public CharSequence getPageTitle(int position) { String tabLabel = null; switch (position) { case 0: tabLabel = getString(R.string.label1); break; case 1: tabLabel = getString(R.string.label2); break; case 2: tabLabel = getString(R.string.label3); break; } return tabLabel; } } public static class TabFragment extends Fragment { public static final String ARG_OBJECT = "object"; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { Bundle args = getArguments(); int position = args.getInt(ARG_OBJECT); int tabLayout = 0; switch (position) { case 0: tabLayout = R.layout.tab1; break; case 1: tabLayout = R.layout.tab2; break; case 2: tabLayout = R.layout.tab3; break; } View rootView = inflater.inflate(tabLayout, container, false); return rootView; } } } 

activity_main :

 <android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/pager" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"/> 

tab1.xml :

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/tab1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center"> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="@string/body1" /> </LinearLayout> 

tab2.xml :

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/tab2" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center"> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="@string/body2" /> </LinearLayout> 

tab3.xml :

  <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/tab3" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center"> <TextView android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="@string/body3" /> </LinearLayout> 

¿Alguna vez has visto este este . Le ayudará a crear pestañas con ActionBar

  • Problemas con fragmentos de Android
  • ¿Es posible refrescar la vista de un Fragmento
  • Androide: margen y / o acolchado extraíble
  • Agregar un salto de línea en una posición determinada, sólo si es necesario
  • ¿Invocando una búsqueda o un filtro en un ListFragment de Android?
  • Personalizar la apariencia de un <Key>
  • ¿Cuál es el propósito de null en addToBackStack (null)?
  • El botón recortado no recibe la entrada táctil
  • Insignia de notificación de ConstraintLayout
  • Clase de actividad de Android en servicio
  • El signo de interrogación me parece nuevo
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.