6

アダプターをクリアして呼び出すと、StaggedGridLayoutManagernotifyDataSetChanged()マネージャーにはまだインスタンスがあります。そのため、新しいアイテムをアダプターに追加すると、レイアウト マネージャーはオフセットを使用してアイテムを描画します。これは大きな問題です。mCachedStart/EndSpan[]

EtsyStaggeredGridViewresetToTop()には、キャッシュされたものをすべてクリアし、すべてを最初から描画するメソッドがあります。

いくつかの回避策があります:

  • layoutManager.onDetachedFromWindow(recyclerView, null)アダプタをクリアした後に呼び出す
  • 悪い新しいレイアウトマネージャーを設定する

アダプターに 20 個のアイテムを追加する 少しスクロール アイテムの削除、notifyChanges、20 アイテムの追加

4

1 に答える 1

3

いくつかの回避策があります:

  • layoutManager.onDetachedFromWindow(recyclerView, null)アダプタをクリアした後に呼び出す
  • 悪い新しいレイアウトマネージャーを設定する
于 2015-12-23T22:23:48.873 に答える