回收器视图在滚动视图中无法正常工作



我的应用程序和RecyclerView运行良好,直到我将第二个RecyclerView添加到片段中。由于我添加了第二个片段,因此我在片段中添加了一个ScrollView。然后我在回收器视图中的滚动遇到了一些问题,它无法顺利滚动。在网上浏览了很多文章,包括StackOverflow,我用androidx.core.widget.NestedScrollView更改了ScrollView。这解决了滚动问题,但发生了一些主要问题。RecyclerView中项目的加载花费了更多时间,当我点击顶部菜单栏上的搜索按钮时,展开搜索字段需要很长时间,有时应用程序显示"无响应"消息。有些文章说添加.setNestedScrollingEnabled=false,我在片段onCreateView()中添加了以下内容。但我仍然面临这个问题。

我正在使用kotlin

binding.rv_home_items.isNestedScrollingEnabled=false
binding.rv_home_categories.isNestedScrollingEnabled=false

以下是xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
android:background="@color/colorOffWhite"
android:orientation="vertical"
tools:context=".ui.fragments.HomeFragment">

<FrameLayout
android:id="@+id/framelayout_category"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_home_categories"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:orientation="horizontal"
android:paddingBottom="15dp" />

<ImageButton
android:id="@+id/ibutton_show_category"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right"
android:layout_margin="5dp"
android:background="@drawable/ic_show_category" />

</FrameLayout>

<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/framelayout_category">

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">

<com.denzcoskun.imageslider.ImageSlider
android:id="@+id/image_slider"
android:layout_width="match_parent"
android:layout_height="200dp"
android:visibility="gone"
app:iss_auto_cycle="true"
app:iss_corner_radius="5"
app:iss_delay="0"
app:iss_error_image="@color/colorDarkGrey"
app:iss_period="2500"
app:iss_placeholder="@color/colorDarkGrey"
app:iss_selected_dot="@drawable/default_selected_dot"
app:iss_unselected_dot="@drawable/default_unselected_dot"
tools:visibility="visible" />

<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_home_items"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/image_slider"
android:layout_marginBottom="50dp" />
</RelativeLayout>
</androidx.core.widget.NestedScrollView>

</RelativeLayout>

我完全被困在我的项目上,非常感谢任何帮助

编辑:

当我启动应用程序时,它会在几秒钟内显示一条消息,指出该应用程序没有响应。

如果您有多个RecyclerView,甚至所有都具有相同的滚动方向,似乎ConcatAdapter可能是首选解决方案。

ConcatAdapter允许按顺序将多个适配器组合到单个RecyclerView

相关内容

  • 没有找到相关文章

最新更新