web-dev-qa-db-fra.com

Comment désactiver l'action "tirer pour actualiser" et utiliser uniquement l'indicateur?

J'ai activé "tirer pour actualiser" à mon projet en utilisant le SwipeRefreshLayout.

Lorsque je descends, l’indicateur de chargement (style de conception des matériaux) apparaît. Je sais, cela doit marcher, mais je veux désactiver cette fonction et commencer à rafraîchir en cliquant sur un bouton et utiliser l'indicateur SwipeRefreshLayout loading.

Comment je peux faire ça?

De la documentation:

Si une activité souhaite afficher uniquement l'animation de progression, elle doit appeler setRefreshing (true). Pour désactiver l'animation de mouvement et de progression, appelez setEnabled (false) dans la vue.

Donc pour montrer l'animation:

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

Et pour cacher l'animation:

swiperefreshLayout.setRefreshing(false);
swiperefreshLayout.setEnabled(false);
125
nhasan

Vous ne devez pas toujours activer et désactiver. Il suffit de désactiver une fois lorsque la vue est créée et d’utiliser setRefreshing.

11
Michał Janowicz