Je fais une liste, cela aura plus d'articles lorsque je vais au bas de la liste. Je veux que cette liste soit à la rafrable aussi, j'ai besoin d'un Disons que j'ai un adaptateur comme celui-ci: P> SwipeefreshLayout code>.
private fun reloadOrders() {
viewModel.setLoading()
refreshLayout?.isRefreshing = false
Observable.timer(1, TimeUnit.SECONDS)
.subscribe { getOrders() }
}
3 Réponses :
Répondre à votre question, la compatibilité n'est pas le problème que vous rencontrez. Pas sûr de la taille de votre mise en page, car sa hauteur est 0 dp. Je jouerais avec la tailles de vue et afficher la hiérarchie. P>
La taille est 0DP car il utilise contraintlayout (pouvant être déduite par le fait qu'il a des contraintes dans le XML)
Je crois que ce qui se passe, c'est que le recyclerview reprend les événements ONTOUCH de SwiperefreshLayout. Vous pouvez essayer d'écraser linéarlayout et sa méthode Canscrollittiquement () code> pour renvoyer false. Bravo! P>
Votre méthode a fonctionné, car je peux maintenant tirer pour rafraîchir mon SwipeefreshLayout code>. Cependant, je ne peux évidemment pas faire défiler dans mon
recyclerview code> maintenant. Toute solution pour cela?
Nevermind, j'ai trouvé une solution! Je viens d'ajouter un Nestécrollview code> à l'intérieur de mon
SwipeefreshLayout code>. Dans ce
NESTCRollView code>, j'ai mis mon
recyclerview code>. Ça marche maintenant!
ok donc grâce à @ r2rek, j'ai trouvé une solution qui a fonctionné pour moi:
dans le code, nous créons une classe qui étend puis, lorsque nous init notre Ceci vous permettra d'actualiser, mais vous ne pourrez pas faire défiler dans votre Vous pouvez maintenant faire défiler votre Je pense que cette méthode est un peu hacky, donc si quelqu'un a une meilleure solution, n'hésitez pas à nous dire! P> < / p> linearlayoutmanager code> méthode
Canscrollittico () < / Code> Pour toujours retourner faux: p>
recyclerview code>, nous appliquons cette classe à notre
LayoutAutManager Code>: p>
recyclerview code> (DUH).
Pour résoudre ce problème, ajoutez un NESTCrollView code> dans votre XML, comme suit: p>
recyclerview code> et tirez pour rafraîchir avec votre
SwipeefreshLayout code>. p>
Où est le code qui file votre SwipereFreshLayout avec l'adaptateur?
@Martinmarconcini dans toutes mes autres vues, je ne lie jamais mon SwipereFreshLayout avec mon recyclageview, et cela fonctionne toujours.
Et où est votre
onefrohlistener code>? J'ai utilisé cette chose cinq ou six fois au cours des 3-4 dernières années. J'ai toujours utilisé un auditeur (comme décrit ici): développeur.android.com / Formation / Swipe / Répondez-la requête - Demande (s'il y a une autre façon de l'utiliser, je ne suis pas au courant, je demande à la curiosité)
@Martinmarconcini, je pense que je fais que je fais comme décrit dans votre lien homme, mais le
onefrohlistener code> n'est jamais appelé. Lorsque je balaye, aucune "bulle" avec une flèche de barres de progression se présente sur le dessus, comme cela devrait. J'ai modifier ma question pour que vous puissiez voir comment j'appelle l'actualisation.
Si vous définissez un point d'arrêt dans les reloaders, il n'est pas appelé? Hmmm
Devinez longuement: que se passe-t-il si vous changez la hauteur de votre vue Recycler sur
match_parent code> à la place? Je suis curieux de voir comment le récipient de balayage se comporte, mais comme vous l'enfilez pour couvrir tout l'espace à son parent, il ne serait pas préjudice auprès du RV sauvegarde le calcul de la hauteur. (En outre, votre largeur de mise en page Swipe doit être 0DP car vous l'enflammer au parent au début / la fin, vous devez donc laisser le moteur CL faire son travail) (en pratique cela peut être inoffensif car je pense que cl 2.x ignore ceux-ci, mais je ne suis pas sûr)