我目前正在为Android 6编写的学校成绩管理器中工作,使用Java语言。我刚开始接触Android,所以并不是专家。
问题是: 如果我在RecycleView适配器上调用方法notifyItemRemoved(),并且最后一个CardView从左下角移动到右上角时,视图会被重新调整大小,动画也会被截断。
现在我不知道为什么这个视图会被重新调整大小,因为RecycleView的layout_height属性是match_parent。
我为RecycleView选择了GridLayoutManager作为LayoutManager。
如何更新RecycleView:
动画是默认的动画。
GridLayoutManager可能是问题吗?
视频示例:
问题是: 如果我在RecycleView适配器上调用方法notifyItemRemoved(),并且最后一个CardView从左下角移动到右上角时,视图会被重新调整大小,动画也会被截断。
现在我不知道为什么这个视图会被重新调整大小,因为RecycleView的layout_height属性是match_parent。
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context=".SemesterActivity"
tools:showIn="@layout/activity_semester">
<android.support.v7.widget.RecyclerView
android:id="@+id/subject_list_view"
android:padding="20dp"
android:layout_below="@+id/title"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"/>
</android.support.v4.widget.NestedScrollView>
我为RecycleView选择了GridLayoutManager作为LayoutManager。
subjectListView.setLayoutManager(new GridLayoutManager(ActivityContext, 2));
如何更新RecycleView:
SubjectAdapterObj.notifyItemRemoved(viewHolder.getAdapterPosition());
动画是默认的动画。
GridLayoutManager可能是问题吗?
视频示例:
RecyclerView
的onMeasure
方法并设置最大高度。 - AbbasRecyclerView
添加更新后的xml
和Java代码中的扩展RecyclerView
。 - Abbas