No puede usar ViewPager
para deslizar entre Activities
. Necesita convertir cada uno de ustedes cinco Activities
en Fragments
, luego combinar todo en uno FragmentActivity
con el Adapter
que usa con ViewPager
.
Here's a link que entra en detalle al convertir su actual Activities
info Fragments
.
Este es el Fragment topic en el sitio web de Desarrolladores de Android, tiene mucha información útil.
Here's another example (fuente completa) que se infla TextViews
en cada página.
Aquí hay un ejemplo que he escrito arriba:
PagerAdapter:
public class PagerAdapter extends FragmentPagerAdapter {
private final List<Fragment> mFragments = new ArrayList<Fragment>();
public PagerAdapter(FragmentManager manager) {
super(manager);
}
public void addFragment(Fragment fragment) {
mFragments.add(fragment);
notifyDataSetChanged();
}
@Override
public int getCount() {
return mFragments.size();
}
@Override
public Fragment getItem(int position) {
return mFragments.get(position);
}
}
Esto se debe llamar en onCreate
de su FragmentActivity
:
private void initPaging() {
FragmentOne fragmentOne = new FragmentOne();
FragmentTwo fragmentTwo= new FragmentTwo();
PagerAdapter pagerAdapter = new PagerAdapter(getSupportFragmentManager());
pagerAdapter.addFragment(fragmentOne);
pagerAdapter.addFragment(fragmentTwo);
ViewPager viewPager = (ViewPager) findViewById(R.id.viewPager);
viewPager.setAdapter(pagerAdapter);
}
Esta es una ejemplo del diseño y ou'd utilizar para su FragmnetActivity
:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<android.support.v4.view.ViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
Para crear Fragment
crear una nueva clase que se extiende Fragment
. Los dos primeros métodos que desea override
son onActivityCreated
y onCreateView
.
Así es como se puede hacer eso:
public class FragmentOne extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(THE_LAYOUT_FROM_YOUR_ORIGINAL_ACTIVITY, container, false);
return view;
}
}
No se puede apuntar hacia un ejemplo con actividades. Puedo proporcionar un ejemplo de código de una aplicación que usa Tabulaciones y Fragmentos de la Barra de acciones de Paquete de Compatibilidad con un ViewPager, si lo desea. Básicamente, cada pestaña es un fragmento, alojado en una actividad principal (sin embargo, mi aplicación sigue creciendo otras actividades para otras tareas). Pero tendrías que estar dispuesto a usar fragmentos, no actividades. ¿Interesado? – Davek804