25

Ho abilitato "pull to refresh" al mio progetto usando SwipeRefreshLayout.Come disabilitare l'azione "pull to refresh" e utilizzare solo l'indicatore?

Quando si sposta verso il basso, viene visualizzato l'indicatore di caricamento (stile di disegno del materiale). Lo so, deve funzionare così, ma voglio disabilitare questa funzione e iniziare l'aggiornamento facendo clic su un pulsante e utilizzare l'indicatore di caricamento SwipeRefreshLayout.

Come posso fare questo?

risposta

67

Dalla documentazione:

Se un'attività vuole mostrare solo l'animazione di avanzamento, si dovrebbe chiamare setRefreshing (true). Per disabilitare il gesto e l'animazione di avanzamento, chiamare setEnabled (false) sulla vista.

Quindi, per mostrare l'animazione:

swiprefreshLayout.setEnabled(true); 
swiperefreshLayout.setRefreshing(true); 

e per nascondere l'animazione:

swiperefreshLayout.setRefreshing(false); 
swiprefreshLayout.setEnabled(false); 
1

Non è necessario per attivare sempre e disabilitare. Basta disabilitare una volta quando viene creata la vista e utilizzare setRefreshing.