Java 在片段中隐藏SearchView

Java 在片段中隐藏SearchView,java,xml,android-studio,Java,Xml,Android Studio,当我在片段中滚动时,我想隐藏我的Searchview。我使用RecyclerView检索我的项目并滚动它们 我的片段实际上是这样的: 当我滚动时,我希望它隐藏,然后当我返回顶部时,我希望它显示 这是我的片段的xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/and

当我在片段中滚动时,我想隐藏我的Searchview。我使用RecyclerView检索我的项目并滚动它们

我的片段实际上是这样的:

当我滚动时,我希望它隐藏,然后当我返回顶部时,我希望它显示

这是我的片段的xml:

<?xml version="1.0" encoding="utf-8"?>
<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"
    android:orientation="vertical"
    tools:context=".stock.StockFragment">

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

        <androidx.appcompat.widget.SearchView
            android:id="@+id/search_view"
            android:layout_width="341dp"
            android:layout_height="34dp"
            android:layout_marginLeft="40dp"
            android:layout_marginTop="5dp"
            android:layout_marginBottom="5dp"
            android:background="@drawable/search_layout"
            android:gravity="center"
            app:iconifiedByDefault="false"
            app:queryHint="Cerca Articolo">

        </androidx.appcompat.widget.SearchView>

    </LinearLayout>


    <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
        android:id="@+id/refresh"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/recycleViewStock"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginBottom="5dp"
        app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />

    </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
</LinearLayout>


我试着把它放进回收器里,但没用,请帮帮我

您可以使用
NestedScrollView
滚动所有项目

<?xml version="1.0" encoding="utf-8"?>
<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"
    android:orientation="vertical"
    tools:context=".stock.StockFragment">

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

      <LinearLayout
        android:layout_width="match_parent"
        android:orientation="vertical"
        android:layout_height="wrap_content">

        <androidx.appcompat.widget.SearchView
            android:id="@+id/search_view"
            android:layout_width="341dp"
            android:layout_height="34dp"
            android:layout_marginLeft="40dp"
            android:layout_marginTop="5dp"
            android:layout_marginBottom="5dp"
            android:background="@drawable/search_layout"
            android:gravity="center"
            app:iconifiedByDefault="false"
            app:queryHint="Cerca Articolo">

        </androidx.appcompat.widget.SearchView>

    <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
        android:id="@+id/refresh"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/recycleViewStock"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginBottom="5dp"
        app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />

    </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
   </LinearLayout>

 </androidx.core.widget.NestedScrollView>

</LinearLayout>

在此之后,设置
recyclerView.setNestedScrollingEnabled(false)在java中正确滚动。

谢谢,但我在SwipeRefreshLayout中使用了(android:layout_height=“685dp”),没有使用recyclerView.setNestedScrollingEnabled(false);