SwipeRefreshLayout Got Action_Move congela la vista

Tengo un NavigationDrawer normal con diversos fragmentos:

  • Noticias
  • Otras cosas 1
  • Otras cosas 2
  • Ajuste

El problema :

El NewsFragment contiene un SwipeRefreshLayout. Funciona muy bien la primera vez que me refresco.

Puedo cambiar el fragmento a otras cosas 1 y 2 y ajuste. Así que vuelvo a NewsFragment.

Y ahora, cuando me refresco, el fragmento se congela.

El archivo drawerLayout funciona correctamente (abrir / cerrar, incluso el cambio de título de ActionBar), pero el fragmento principal permanece en NewsFragment y no puedo desplazarte. Pero el scollListner funciona (tengo registro), pero la vista no cambia.

No refreshView (parte superior del swipeRefreshLayout), sin desplazamiento, sin botón de respuesta (en el enfoque, onclick), pero sólo visualmente.

En realidad, es como si un Fragmento Respondente estuviera detrás del fragmento congelado.

También tengo este error en ADBLog:

SwipeRefreshLayout﹕ Got ACTION_MOVE event but don't have an active pointer id. 

Alguna idea ??

Puedo fijar código si usted pide.

Ok encontré la solución. Lo publico porque puede suceder a todo el mundo y eso es un poco aburrido (dos días para encontrarme).

Primero tuve esto en mi XML que contiene el SwipeRefreshLayout (un fragmento):

 <android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/news_container_refresh" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="5dp" android:background="@color/news_background"> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v7.widget.RecyclerView android:id="@+id/news_list_recycle" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:dividerHeight="5dp" /> <ProgressBar style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/news_progress" android:visibility="invisible" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" /> </RelativeLayout> 

Por lo tanto, para arreglar el error, USTED NECESITA APENAS TENER LA RECICLAJE (o listview) EN SU SWIPEREFRESHLAYOUT:

Por lo tanto, muevo mi progressBar y hacer el RelativeLayout como el rootView.

Resultado:

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <ProgressBar style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/news_progress" android:visibility="invisible" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" /> <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/news_container_refresh" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="5dp" android:background="@color/news_background"> <android.support.v7.widget.RecyclerView android:id="@+id/news_list_recycle" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:dividerHeight="5dp" /> </android.support.v4.widget.SwipeRefreshLayout> 

Espero que ayude a alguien más tarde.

Esta respuesta funcionó para mí. Se trata de aclarar el diseño de actualización en onPause ().

Su ejemplo de código sí soluciona el problema. Esto parece ser un problema con la biblioteca de soporte v21.

Para un poco más de aclaración para ayudar a otros que podrían venir a través de esto, la cuestión parece ser que el SwipeRefreshLayout ya no es feliz siendo la vista de la raíz.

Agregar un RelativeLayout para ajustar el SwipeRefreshLayout corrige el error en su caso, en lugar de tener sólo el ListView/RecyclerView dentro de SwipeRefreshLayout . No lo he intentado, pero supongo que un LinearLayout u otro también arreglaría las cosas.

Así que la solución es:

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v4.widget.SwipeRefreshLayout android:layout_width="match_parent" android:layout_height="match_parent"> <!-- List, Layout etc --> </android.support.v4.widget.SwipeRefreshLayout> </RelativeLayout> 
  • La vista de Recycler no se desplaza correctamente después de implementar el desplazamiento para actualizar el diseño.
  • SwipeRefreshLayout con emptyView, actualizar el hilandero parpadea
  • SwipeRefreshLayout interferir con setOnScrollListener
  • establecer la ubicación de la barra de progreso en la función Actualizar actualización de Android
  • Problemas al integrar EnhancedListView y SwipeRefreshLayout
  • AppBarLayout + TabLayout + CollapsingToolbarLayout + SwipeToRefresh
  • Cómo detener ScrollView desde el desplazamiento hasta la parte inferior de la página cargada actual en WebView
  • SwipeRefreshLayout de la lib de soporte. V21 no funciona con contenido estático
  • ¿Cómo deshabilitar la acción "pull to refresh" y usar sólo el indicador?
  • SwipeRefreshLayout está oculto en vacío RecyclerView
  • Recycler view Array index otof bound Incossitency Error mientras SwipetoRefresh y reciclador desplazándose al mismo tiempo
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.