1

だから、私はページングライブラリに従おうとしています。ほとんどの例では、次のようなものがあります。

@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 スレッドから「削除」するオブザーバがアダプタにあるため、このアイテムの位置が古くなっているのではないでしょうか?

4

2 に答える 2