だから、私はページングライブラリに従おうとしています。ほとんどの例では、次のようなものがあります。
@Override
public void onBindViewHolder(@NonNull PokemonViewHolder pokemonViewHolder, int i) {
Pokemon pokemon = getItem(i);
if (pokemon != null) { // <-- why this check here?
pokemonViewHolder.bind(pokemon);
}
}
アダプター内の項目が null であることを確認する必要があるのはなぜですか? PagedListAdapter フローの内部を理解していません。誰か説明してくれませんか?
私の推測では、データソースが更新されるとすぐに、アダプタのコンテンツをある時点で UI スレッドから「削除」するオブザーバがアダプタにあるため、このアイテムの位置が古くなっているのではないでしょうか?