PDA

Ver la Versión Completa : [ SOLUCIONADO ] SwipeRefreshLayout scroll up


gonza28
14/12/15, 13:24:22
Hola amigos.
Necesito una mano.
No es que no pueda hacer scroll.
El problema es que tengo un SwipeRefreshLayout como nodo raiz en el layout contenedor del recyclerView.
Al hacer scroll hacia abajo para ver los ultimos items, al querer volver hacia arriba, logicamente se ejecuta onRefresh.
Se puede hacer algo como para frenar esto? Si no, esto en mi caso, cada vez que se hace scroll se conecta a internet a descargar datos.

Espero puedan entender mi problema.

Muchas gracias por todo. Un saludo

Muchas gracias kriogeN

kriogeN
14/12/15, 13:34:27
Pensaba que ese error ya estaba arreglado en las últimas versiones del RecyclerView, parece que no, yo lo soluciono así:


recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
refreshLayout.setEnabled(((LinearLayoutManager) mLayoutManager).findFirstCompletelyVisibleItemPosi tion() == 0);
}

override
public void onScrollStateChanged(RecyclerView recyclerView,
int newState) {

}
});

gonza28
14/12/15, 17:55:15
Pensaba que ese error ya estaba arreglado en las últimas versiones del RecyclerView, parece que no, yo lo soluciono así:


recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
refreshLayout.setEnabled(((LinearLayoutManager) mLayoutManager).findFirstCompletelyVisibleItemPosi tion() == 0);
}

override
public void onScrollStateChanged(RecyclerView recyclerView,
int newState) {

}
});

Muchas gracias compañero. Funciona de lujo. Casi renuncio porque no me servía así.

Marco como solucionado. esto puede servir a otros.

Muchas gracias de nuevo. Saludos