嗨我有一个片段,里面有两个RecyclerViews,一个在另一个之上。
第一个是用户执行操作的项目列表,第二个是在执行操作后将填充项目的位置。因此,当从顶部列表中删除项目时,它将添加到底部列表中。
我遇到的问题是,当我从顶部RecyclerView中删除项目时,顶部RecyclerView中的所有剩余项目向上移动以填充已删除项目留下的空间,但这会在顶部和底部之间留下间隙RecyclerViews 。
如何从顶部RecyclerView中移除项目后,如何向上移动底部的Recyclerview以填补创建的间隙
这是我的布局xml
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:layout_alignParentTop="true"
android:id="@+id/pending_tasks"
android:layout_marginTop="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<android.support.v7.widget.RecyclerView
android:layout_below="@id/pending_tasks"
android:id="@+id/completed_tasks"
android:layout_marginTop="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</RelativeLayout>
我试过在底部的RecyclerView上调用invalidate()
但是没有用。任何帮助将不胜感激,谢谢!
答案 0 :(得分:1)
一旦屏幕上显示布局尺寸,就无法更新布局尺寸。如果您修改RecyclerView的内容,则只需刷新布局即可缩小它。
我建议使用单个RecyclerView并在某个变量中存储第一个列表的下限。然后只需根据第一个列表中的修改进行相应更新。
另一种可以帮助您的解决方案: Change Relative layout width and height dynamically