ViewPager en blanco en la parte posterior de otro fragmento
En realidad, estoy usando la aplicación completa en una sola actividad por fragmentos en el contenedor de vista principal. Un fragmento contiene un viewPager cuando hice clic sobre un fragmento de botón de encabezado reemplazado por LoginFragment
y en la parte posterior que mantenemos backstack
para que el fragmento que contiene viewPager estará en la parte superior, pero allí tenemos una vista en blanco del elemento actual en viewPager
.
- Vista previa de desplazamiento en Viewpager
- 2 ViewPager no se desplaza en Android 2.3
- NullPointerException en ViewPager con Recyclerview
- Cambiar fragmento viewpager por un botónClick
- Cómo crear una matriz 3X3 de imágenes en un viewpager como un GridView que se desplaza horizontalmente en android
- Android ViewPager llama manualmente a PageTransformer transformPage
- ViewPager dentro de Fragmento con márgenes y el transformador de página no se representa correctamente
- Android ViewPager w / varias clases de fragmentos cada w / archivo de diseño independiente
- Confusión en 'posición' en la función instantiateItem en la clase PagerAdapter (android)
- Control de dos ViewPager juntos
- Despliegue de la barra de herramientas con el viewpager
- Android FragmentPagerAdapter con LoaderManager
- OnPageSelected nunca se llama para el primer elemento?
Esta es mi solución y he buscado una gran cantidad de la respuesta por lo que si tienes una mejor por favor comparta conmigo ..
Cambié el ViewPager a la actividad
XML de la actividad
<RelativeLayout .... xmlns. <FrameLayout android:id="@+id/container" android:layout_height="match_parent" android:layout_width="match_parent" /> <android.support.v4.view.ViewPager android:id="@+id/pager" android:layout_width="match_parent" android:layout_height="match_parent" </...viewPager>
Clase de actividad
public MainActivity extends Activity .... { private boolean mShowPager; private FrameLayout mContainer; private ViewPager mPager; //Inflate them public void showViewPager() { mPager.setVisibility(View.Visible); mContainer.setVisibilty(View.Gone); } public void showContainer() { mContainer.setVisibility(View.Visible); mPager.setVisibilty(View.Gone); } public void showViewPager(boolean show) { mShowPager = show; } @override public void onBackPressed() { if(mShowPager) { showViewPager(); } super.onBackPressed();
Ejemplo de fragmento
public void onAttach(Activity activity) { ((MainActivity)activity).showViewPager(true); ((MainActivity)activity).showContainer();
// True significa que cuando se vuelve a presionar, se muestra ViewPager // Back significa que todavía se muestra Container pero se vuelve a presionar Info: se decide lo que se quiere mostrar ViewPager o el Container que contiene los Fragmentos más se puede usar el BackStack si es necesario.
Espero que ayuda su me ayudó.
- Cómo proteger los datos de intención mientras lo envía a través de aplicaciones
- Android: permite la creación de un alias de actividad cuya targetActivity está en un aar / sdk