如何在放置在约束布局内的 NestedScrollView 中添加回收器视图,尝试添加回收器视图但未成功
Posted
技术标签:
【中文标题】如何在放置在约束布局内的 NestedScrollView 中添加回收器视图,尝试添加回收器视图但未成功【英文标题】:How to add Recycler View inside the NestedScrollView which is placed inside a constraint layout, tried to add recycler view but not getting succesful 【发布时间】:2021-11-19 17:26:33 【问题描述】:我正在尝试在约束布局内的NestedScrollView
中添加RecyclerView
,但它没有加起来,即RecyclerView
即使加起来也没有出现,请帮助我,我是添加它的 XML 代码。
我在做什么
在约束布局内添加NestedScrollView
,并在NestedScrollView
内的线性布局下方添加RecyclerView
。
<layout xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_
android:layout_
tools:context=".ui.MainFragment">
<include
android:id="@+id/toolbar"
layout="@layout/toolbar_default_back"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.core.widget.NestedScrollView
android:id="@+id/scrollview"
android:layout_
android:layout_
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:fillViewport="true"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/toolbar">
<LinearLayout
android:id="@+id/linear_layout"
android:layout_
android:layout_
android:layout_marginStart="20dp"
android:layout_marginTop="10dp"
android:orientation="horizontal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/imageView13"
android:layout_
android:layout_
app:srcCompat="@drawable/ic_baseline_person_add"
tools:layout_editor_absoluteX="13dp"
tools:layout_editor_absoluteY="14dp" />
<TextView
android:id="@+id/textView42"
android:layout_
android:layout_
android:layout_marginStart="10dp"
android:layout_marginTop="8dp"
android:layout_weight="1"
android:text="Received"
android:textSize="18sp" />
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_
android:layout_>
</androidx.recyclerview.widget.RecyclerView>
</androidx.core.widget.NestedScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
【问题讨论】:
【参考方案1】:问题是NestedScrollView
里面有两个直接视图,并且`NestedScrollView里面应该有一个根布局,然后你可以在这个根里面嵌套任何其他布局。
要解决您的问题,您必须将 LinearLayout
和 RecyclerView
包装在任意选择为 LinearLayout
的根中:
<layout xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_
android:layout_
tools:context=".ui.MainFragment">
<include
android:id="@+id/toolbar"
layout="@layout/toolbar_default_back"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.core.widget.NestedScrollView
android:id="@+id/scrollview"
android:layout_
android:layout_
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:fillViewport="true"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/toolbar">
<LinearLayout
android:layout_
android:layout_
android:orientation="vertical">
<LinearLayout
android:id="@+id/linear_layout"
android:layout_
android:layout_
android:layout_marginStart="20dp"
android:layout_marginTop="10dp"
android:orientation="horizontal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/imageView13"
android:layout_
android:layout_
app:srcCompat="@drawable/ic_baseline_person_add"
tools:layout_editor_absoluteX="13dp"
tools:layout_editor_absoluteY="14dp" />
<TextView
android:id="@+id/textView42"
android:layout_
android:layout_
android:layout_marginStart="10dp"
android:layout_marginTop="8dp"
android:layout_weight="1"
android:text="Received"
android:textSize="18sp" />
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_
android:layout_/>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
【讨论】:
非常感谢您回答我的问题,请您告诉我们应该从哪里了解更多有关布局的信息,我之前不了解nestedscroll 视图的这些属性。 @LavishGarg 很高兴能帮上忙.. 真实的地方总是the documentation,但您可以四处寻找中等文章或任何正宗的安卓课程.. Android 现在趋势material design 和@987654323 @..如果解决了您的问题,请采纳答案 你能看看这个吗,你能帮我解决这个问题吗,我还没有找到任何这样好的教程来访问android 11中的后台位置。问题链接:-***.com/questions/69824318/… 嘿@LavishGarg 我希望我能,但借口我没有深入了解位置服务,希望其他人可以帮助你。以上是关于如何在放置在约束布局内的 NestedScrollView 中添加回收器视图,尝试添加回收器视图但未成功的主要内容,如果未能解决你的问题,请参考以下文章