J'ai un point de vue comme article dans une mise en page linéaire, avec chaque élément du téléavertisseur de vue contenant un recyclerview. Le problème est que chaque fois que la page se charge initialement, ou lorsque je change de pages sur le point de vue, la vue Faites défiler automatiquement le début de la vue Recycler correspond au haut de l'écran, plutôt que de rester en veille. P>
Un .gif du problème est ici . Remarque Je ne fais pas défiler vers le bas, c'est le repositionnement automatique. p>
Comment puis-je empêcher la vue de repositionner automatiquement au début de la vue Recycler? p>
3 Réponses :
Vous pouvez ajouter cet attribut à votre présentation linéaire. La mise en page linéaire enfant direct de votre ScrollView.
android:descendantFocusability="blocksDescendants"
Il désactive plus forfairéview's Focus.So Il n'est plus touché ou cliquable ... Toute suggestion ou alternative pour ce problème?
@Harshit merci, ça résonne mon problème
Pourquoi cela aide-t-il?
Merci . bonne solution
Je suppose que le problème n'est pas sur votre recyclageview mais sur votre visionneur. ViewPager a Setoffscreenpagelimit Strong> utilisé pour définir la page offscreen de votre fragment attaché au visualPager. Si vous avez 3 fragment attaché sur ViewPager, vous pouvez définir son paramètre comme celui-ci chaque fois que vous modifiez la page de pager, son fragment serait toujours sur le dernier état. P> P>
Merci, cela fixe la commutation entre les onglets réinitialisant la position de défilement!
Nous avons un problème similaire. Nous avons un Lorsque nous avons mis à niveau les libs de support du 23.4.0 au 24.0.0 Le défilement automatique est soudainement apparu. En particulier, lorsque nous ouvrons une activité Ajout Cependant, j'ai trouvé une autre solution , qui fonctionne également. Dans notre cas, la verticale Il y a même un Troisième solution mentionnée ici , qui consiste essentiellement à appeler Au fait, il y a un Ouvrir le problème sur l'AOSP a>. p> recyclerview code>. Chaque élément de cette verticale recyclerview code> contient un recyclerview code>, comme dans l'application TV Android. P>
code> et nous revenons ensuite, le vertical recyclerview code> défile de sorte que l'horizontal actuel recyclerview code> la ligne ne reçoit pas couper et la ligne est complètement affichée. p>
Android: descendantFocusability = "Blocsdescendants" Code> corrige le problème. p>
recyclerview code> est contenue dans un Framelayout code>. Si j'ajoute android: focautintouchmode = "vrai" code> à ce framelayout code>, le problème disparaît. P>
setFocusable (faux) code > Sur l'enfant / intérieur recyclerview code> s. Je n'ai pas essayé cela. P>