Android RecyclerView未完全展开以显示所有元素

Android RecyclerView未完全展开以显示所有元素,android,xml,android-layout,android-recyclerview,android-linearlayout,Android,Xml,Android Layout,Android Recyclerview,Android Linearlayout,我创建了一个EditText、一个按钮和一个RecyclerView(由1个TextView和1个ImageView子项组成)来添加TextView。在顶部的编辑文本中,用户可以输入文本并点击+按钮。这会将它们的文本添加到用于更新RecyclerView的列表(字符串)中。用户可以点击右边的x从RecyclerView中删除条目 您可以在图中看到的问题是,在提交几次之后,RecyclerView停止扩展并保持固定大小(请注意右下角的小光点)。您可以在RecyclerView中滚动查看项目,项目仍

我创建了一个EditText、一个按钮和一个RecyclerView(由1个TextView和1个ImageView子项组成)来添加TextView。在顶部的编辑文本中,用户可以输入文本并点击+按钮。这会将它们的文本添加到用于更新RecyclerView的列表(字符串)中。用户可以点击右边的x从RecyclerView中删除条目

您可以在图中看到的问题是,在提交几次之后,RecyclerView停止扩展并保持固定大小(请注意右下角的小光点)。您可以在RecyclerView中滚动查看项目,项目仍然添加到其中,但它不会扩展到完整大小(图像中的项目有20多个)。如果我删除一个项目,高度会因某种原因而增加,但它仍然不会显示所有元素,并且在我添加新项目时会收缩

我尝试过的事情

这是RecyclerView代码。继承权消失了

<LinearLayout>
   <ScrollView>
      <LinearLayout>
         <RecyclerView />
      </LinearLayout>
   </ScrollView>
</LinearLayout>
最后是从RecyclerView(RV适配器内部)中删除条目的代码:


任何帮助都将不胜感激,因为我一辈子都搞不清楚这一点

使用
NestedScrollView
而不是
ScrollView
,并且
RecyclerView
上设置nestedScrollEnabled(false)
android.support.v4.widget.NestedScrollView(确保build.gradle文件中有v4支持库),否则android将找不到
NestedScrollView
类。来源:

在NestedScrollView集合上使用
NestedScrollView
而不是
ScrollView

isNestedScrollingEnabled=false

响应速度极快,而且完全正确!谢谢你的帮助,伙计!这个答案值得赏金!
<android.support.v7.widget.RecyclerView
            android:id="@+id/ingredientsRecyclerView"
            android:layout_marginTop="4dp"
            android:layout_marginLeft="4dp"
            android:layout_marginRight="4dp"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:clipChildren="false"
            android:clipToPadding="false"
            >
ingredientsButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (ingredientsText.getText().toString().length() > 0) {
                mIngredients.add(ingredientsText.getText().toString());
                ingredientsText.setText("");
                mAdapter.notifyDataSetChanged();
                mRecyclerView.setBackgroundResource(R.drawable.rounded_edittext);
            }
        }
    });
cancelImage.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                        mIngredients.remove(getAdapterPosition());
                mAdapter.notifyItemRemoved(getAdapterPosition());
                mAdapter.notifyItemRangeChanged(getAdapterPosition(), mIngredients.size());
                if(mAdapter.getItemCount() == 0)
                mRecyclerView.setBackgroundResource(0);
            }
        });