首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RecycleView不滚动

RecycleView不滚动
EN

Stack Overflow用户
提问于 2019-07-26 05:54:46
回答 4查看 1.3K关注 0票数 0
代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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:id="@+id/bottomSheetLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/bg_top_round_corner">

    <androidx.cardview.widget.CardView
    android:id="@+id/cardViewInnerProductContainer"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    app:cardElevation="10dp"
    app:cardCornerRadius="10dp">

    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <ImageView
            android:id="@+id/closeIv"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="12dp"
            android:src="@drawable/ic_close_dark"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <TextView
            android:id="@+id/changeAddressTitleTv"
            style="@style/FontLocalizedBold"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="7dp"
            android:paddingStart="12dp"
            android:text="@string/changeaddress_popup_change_address"
            android:textColor="@color/colorTextPrimary"
            android:textSize="20sp"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="@id/closeIv" />

        <View
            android:id="@+id/divider"
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="@color/colorDividerLight"
            app:layout_constraintTop_toBottomOf="@id/closeIv" />

        <androidx.recyclerview.widget.RecyclerView
            android:id="@+id/locationRv"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="12dp"
            android:paddingLeft="12dp"
            android:paddingRight="12dp"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/divider"
            tools:listitem="@layout/item_choose_address" />

        <androidx.recyclerview.widget.RecyclerView
            android:id="@+id/addressesRv"
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:paddingLeft="12dp"
            android:paddingRight="12dp"
            android:paddingBottom="4dp"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/locationRv"
            tools:listitem="@layout/item_choose_address" />

    </androidx.constraintlayout.widget.ConstraintLayout>

    </androidx.cardview.widget.CardView>

</androidx.constraintlayout.widget.ConstraintLayout>



        val addressesLayoutManager = LinearLayoutManager(context)
        addressesLayoutManager.orientation = RecyclerView.VERTICAL
        addressesRv.layoutManager = addressesLayoutManager

addressesRv recycleView没有滚动。我在底片对话框中设置了这个设置。它只是采取200 is的高度大小,只显示适合的项目,我不能滚动所有的项目。

我试图取出CardView,删除视图中的其他循环,将addressesRv包装到NestedScrollLayout中,但这两种情况都不起作用。

编辑:

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-07-26 06:09:54

如果你放了NestedScrollview,就把它移除。

并将其添加到addressesRv回收视图中

代码语言:javascript
复制
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
票数 4
EN

Stack Overflow用户

发布于 2019-07-26 06:02:49

因为您在同一个页面中使用多个Recyclerview,我认为两个recyclerView都有垂直方向的LinearLayout管理器。我发现你的第一个回收器的高度是wrapContent,但第二个是固定的。所以这里有一个变化滚动的问题。所以这里你需要nestedScrolview

nestedScrollView 会做什么?:

:这将帮助你滚动两个回收视图。

关于问题的更多讨论:假设第一个recyclerView有10个元素,这些元素覆盖全屏,而第二个recyclerView也包含10个元素。现在,两个recyclerView都没有把所有的元素放在一起。因为没有nestedScrollView就无法滚动

代码示例:

代码语言:javascript
复制
<androidx.cardview.widget.CardView
    android:id="@+id/cardViewInnerProductContainer"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    app:cardElevation="10dp"
    app:cardCornerRadius="10dp">

 <androidx.core.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">
       // Your other code
  </androidx.constraintlayout.widget.ConstraintLayout>
  </androidx.core.widget.NestedScrollView>
票数 1
EN

Stack Overflow用户

发布于 2019-07-26 06:45:29

尝试在CoOrdinator布局中放置约束布局

代码语言:javascript
复制
<android.support.design.widget.CoordinatorLayout 
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">

<androidx.constraintlayout.widget.ConstraintLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

</androidx.constraintlayout.widget.ConstraintLayout>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57213894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档