我有一个非常简单的Recyclerview,其布局如下: -
<LinearLayout
android:id="@+id/address_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<include layout="@layout/address_recyclerview"></include>
</LinearLayout>
我的回收者视图布局如下: -
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.RecyclerView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/adr_recyclerView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:layout_marginBottom="4dp"
/>
这是我用来从回收站视图中删除项目的代码: -
private void removeItem(UserInfo list) {
int current_position = listData.indexOf(list);
listData.remove(current_position);
notifyItemRemoved(current_position);
}
我的线性布局位于滚动视图中。现在当我删除回收器视图中的项目时,该项目被删除但删除后留空空间。当回收者视图中的项目如何自动删除此空间被删除?
感谢任何帮助或建议。谢谢。
答案 0 :(得分:1)
尝试添加notifyItemRangeChanged(int,int) 在notifyItemRemoved(current_position)之后。
private void removeItem(UserInfo list) {
int current_position = listData.indexOf(list);
listData.remove(current_position);
notifyItemRemoved(current_position);
notifyItemRangeChanged (current_position, getItemCount());
}
答案 1 :(得分:1)
也许您将 setHasFixedSize 设置为 true,因此尝试将其设置为 false setHasFixedSize(false) 它将删除该空间