後、私は以下の画像のようにRecyclerView
を持ってサイズを変更提示:RecyclerView項目リフレッシュ
これは、このRecyclerView
のためのセットアップコードです:
RecyclerView.LayoutManager layoutManager = new GridLayoutManager(this, 2);
dataRecyclerView.setLayoutManager(layoutManager);
dataRecyclerView.addItemDecoration(new GridSpacingItemDecoration(...);
dataRecyclerView.setItemAnimator(new DefaultItemAnimator());
どこ新しい活動を開始した後RecyclerViewの選択項目を更新すると、RecyclerViewに新しいデータが追加されて新しい変更が反映されますが、次の結果が得られます。
そして、私がスクロールダウンしたときに、私はこのギャップを得る:
私はリフレッシュした後、しかし無駄にRecyclerView#invalidate()
、#invalidateItemDecorations()
、#requestLayout()
を呼び出してみました。 & RecyclerView
のsetHasFixedSize(true)
も電話していません。
問題は何ですか?どのようにして子要素のサイズを変更して、コンテンツをきちんとラップするようにすることができますか?
(PS:私は、問題が場合にのみ、子アイテムの高さの変化を生じたというのが私の理論を証明している、&何事もなかっ何も変更せずにリフレッシュしようとした)かなり後半だが、私もこれを経験している
シェアは、アダプタ – Alexander
のあなたのコードは、それはいくつかの一般的なクラスを拡張して、アダプタのコードが少し長いです –
...アダプタのアダプタおよびXMLコードを投稿してください。しかし、バインディングプロセスは非常に正常です。 –