I have a screen with Recyclerview and other elements inside LinearLayout. The problem is that when I delete the RecyclerView element, animateLayoutChanges does not work in this case. Does anayone know why this is happening?

XML
<LinearLayout 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" tools:context="com.example.alvaro.resizetest.MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:animateLayoutChanges="true" android:orientation="vertical"> <android.support.v7.widget.RecyclerView android:id="@+id/recyclerview" android:layout_width="match_parent" android:layout_height="wrap_content"/> <LinearLayout android:id="@+id/test1" android:layout_width="match_parent" android:layout_height="50dp" android:background="@color/colorAccent" android:gravity="center_vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="LinearLayout" android:textColor="#FFFFFF" android:textSize="22sp"/> </LinearLayout> <LinearLayout android:id="@+id/test2" android:layout_width="match_parent" android:layout_height="50dp" android:background="@color/colorPrimaryDark" android:gravity="center_vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="LinearLayout" android:textColor="#FFFFFF" android:textSize="22sp"/> </LinearLayout> <LinearLayout android:id="@+id/test3" android:layout_width="match_parent" android:layout_height="50dp" android:background="@color/colorAccent" android:gravity="center_vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="LinearLayout" android:textColor="#FFFFFF" android:textSize="22sp"/> </LinearLayout> <LinearLayout android:id="@+id/test4" android:layout_width="match_parent" android:layout_height="50dp" android:background="@color/colorPrimaryDark" android:gravity="center_vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="LinearLayout" android:textColor="#FFFFFF" android:textSize="22sp"/> </LinearLayout> </LinearLayout>
Java
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recyclerview); Adapter adapter = new Adapter(); recyclerView.setLayoutManager(new LinearLayoutManager(this)); recyclerView.setAdapter(adapter); recyclerView.setNestedScrollingEnabled(true); View.OnClickListener listener = new View.OnClickListener() { @Override public void onClick(View view) { view.setVisibility(View.GONE); } }; findViewById(R.id.test1).setOnClickListener(listener); findViewById(R.id.test2).setOnClickListener(listener); findViewById(R.id.test3).setOnClickListener(listener); findViewById(R.id.test4).setOnClickListener(listener); } class Adapter extends RecyclerView.Adapter<Adapter.Holder>{ int size = 3; public Adapter() { } @Override public Holder onCreateViewHolder(ViewGroup parent, int viewType) { View view = getLayoutInflater().inflate(R.layout.item, parent, false); return new Holder(view); } @Override public void onBindViewHolder(Holder holder, int position) { } @Override public int getItemCount() { return size; } class Holder extends RecyclerView.ViewHolder { public Holder(final View itemView) { super(itemView); itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { size --; notifyItemRemoved(getAdapterPosition()); } }); } } }
source share