6

私はRecyclerView次の画像が示すように持っています:

RecyclerView

これは、このセットアップ コードですRecyclerView

RecyclerView.LayoutManager layoutManager = new GridLayoutManager(this, 2);
dataRecyclerView.setLayoutManager(layoutManager);
dataRecyclerView.addItemDecoration(new GridSpacingItemDecoration(...);
dataRecyclerView.setItemAnimator(new DefaultItemAnimator());

RecyclerView の選択した項目を更新する新しいアクティビティを開始した後、RecyclerView には新しい変更を反映するために新しいデータが再入力されますが、次の結果が得られます。

結果1

そして、下にスクロールすると、次のギャップが生じます。

結果2

更新後に , を呼び出してみましたが、役に立ちませんRecyclerView#invalidate()でし#invalidateItemDecorations()た。#requestLayout()&私も電話setHasFixedSize(true)していませんRecyclerView

問題は正確には何ですか?リフレッシュ後にコンテンツを正確にラップするように、子アイテムのサイズを変更するにはどうすればよいですか?

(PS: 何も変更せずにリフレッシュしようとしましたが、何も起こりませんでした。これは、子アイテムの高さが変更された場合にのみ問題が発生するという私の理論を証明しています。)

4

1 に答える 1