Lorsque le contenu de l'adaptateur change (et que vous appelez notify*) RecyclerView demande une nouvelle mise en page À partir de ce moment, jusqu'à ce que le système de mise en page décide de calculer une nouvelle mise en page (<16 ms), le système de mise en page décide de calculer une nouvelle mise en page (<16 ms). La position de la mise en page et la position de l'adaptateur peuvent ne pas correspondre car la mise en page n'a pas encore reflété les modifications de l'adaptateur.
La réponse est très claire. La différence spécifique est qu'il y aura un décalage horaire entre les positions de l'adaptateur et la mise en page (<16 ms). Si vous modifiez les données de l'adaptateur puis actualisez la vue, ce sera le cas. il faut un certain temps pour que la mise en page mette à jour la vue. Pendant cette période, les positions renvoyées par ces deux méthodes seront différentes.
De plus, la réponse mentionne également que la position dans l'adaptateur ne peut pas être obtenue immédiatement après notifyDataSetChanged, et ne peut être obtenue qu'une fois la mise en page terminée.
En ce qui concerne la position de la mise en page, après notifyItemInserted, la mise en page ne peut pas obtenir la nouvelle position immédiatement car la mise en page n'a pas encore été mise à jour (il faut
La réponse est très claire. La différence spécifique est qu'il y aura un décalage horaire entre les positions de l'adaptateur et la mise en page (<16 ms). Si vous modifiez les données de l'adaptateur puis actualisez la vue, ce sera le cas. il faut un certain temps pour que la mise en page mette à jour la vue. Pendant cette période, les positions renvoyées par ces deux méthodes seront différentes.
De plus, la réponse mentionne également que la position dans l'adaptateur ne peut pas être obtenue immédiatement après
notifyDataSetChanged
, et ne peut être obtenue qu'une fois la mise en page terminée.En ce qui concerne la position de la mise en page, après
notifyItemInserted
, la mise en page ne peut pas obtenir la nouvelle position immédiatement car la mise en page n'a pas encore été mise à jour (il fautÀ propos de ça