J'utilise attachToRecyclerView (RecyclerView) et cela fonctionne comme prévu.
Question: à un moment donné, je veux que le même recyclerView défile normalement, comment y parvenir?
Code:
PagerSnapHelper pagerSnapHelper = new PagerSnapHelper();
pagerSnapHelper.attachToRecyclerView(recyclerView);
2 réponses
Regarder depuis recyclerview-v7:25.1.0
, suffit pour appeler
snapHelper.attachToRecyclerView(null);
Pour supprimer le SnapHelper
J'ai fait face au même problème. Appel
clearOnScrollListeners();
setOnFlingListener(null);
Sur l'instance RecyclerView
a fait l'affaire pour moi. Appeler uniquement setOnFlingListener(null);
ne suffisait pas dans mon cas
Si vous ne souhaitez pas conserver la référence de SnapHelper , il existe un autre moyen de contourner le problème selon la documentation officielle que vous pouvez utiliser
recyclerView.setOnFlingListener(null);
À partir de la documentation Android
- Attache le {@link SnapHelper} au RecyclerView fourni, en appelant
- {@link RecyclerView # setOnFlingListener (RecyclerView.OnFlingListener)}.
- Vous pouvez appeler cette méthode avec {@code null} pour la détacher du RecyclerView actuel.
Attention
SnapHelper.attachToRecyclerView () peut lancer une IllegalArgumentException
- @throws IllegalArgumentException s'il existe déjà un {@link RecyclerView.OnFlingListener}
- attaché au {@link RecyclerView} fourni.
De nouvelles questions
android
Android est le système d'exploitation mobile de Google, utilisé pour la programmation ou le développement d'appareils numériques (Smartphones, tablettes, automobiles, téléviseurs, Wear, Glass, IoT). Pour les sujets liés à Android, utilisez des balises spécifiques à Android telles que l'intention d'Android, l'activité d'Android, l'adaptateur Android, etc. Pour les questions autres que le développement ou la programmation, mais liées au cadre Android, utilisez ce lien: https: // android.stackexchange.com.