J'ai un RxJava2 Observable qui prend deux listes, calculer le résultat diff pour eux et envoyer ces données à l'adaptateur. Mises à jour d'envoi d'adaptateur sur le thread principal.La répartition DiffResult conduit à 'Inconsistance détectée. Invalid view support adaptateur positionViewHolder 'parfois erreur
Code de l'expédition dans l'adaptateur:
public void dispatchStreams(List<StreamV3> streams, @Nullable DiffUtil.DiffResult diffResult) {
if (streams == null) return;
streamsList.clear();
streamsList.addAll(streams);
if (diffResult != null) {
diffResult.dispatchUpdatesTo(this);
}
}
J'ai « détecté Incohérence. Erreur d'affichage de l'adaptateur ViewViewHolder invalide parfois sur certains périphériques. Et je ne peux pas comprendre ce qui ne va pas avec mon code. Min SDK 21, SDK cible 26, version RecyclerView est 26.0.0. Je connais la solution de contournement avec l'extension LinearLayoutManager et attraper silencieusement cette erreur, mais c'est une mauvaise solution et je crois qu'il devrait y en avoir une meilleure.
Quelqu'un peut-il vous aider s'il vous plaît?
est 'Inconsistance détectée. L'adaptateur de support de vue invalide positionViewHolder'? – Blackbelt
@Blackbelt, Oui –
Je peux vous dire comment nous le réparons, mais nous ne savons pas pourquoi. C'était beaucoup d'essais et d'erreurs – Blackbelt