从一个 Fragment 移动到另一个 Fragment 时,SwipeRefreshLayout 被复制到另一个 Fragment

While moving from one Fragment to another, SwipeRefreshLayout is being copied to another Fragment

我在 Fragment A 中有 SwipeRefreshLayout。我从 Fragment A 切换到 Fragment B 但在 Fragment B 中我也得到了一个我不想要的 SwipeRefreshLayout。请解释为什么会这样,我该怎么做才能解决这个问题?

过渡

Bundle args = new Bundle();
args.putString("deviceId", deviceId);
fragment.setArguments(args);
fragmentManager.beginTransaction().replace(R.id.rlConfiguration, fragment).commit();

片段A

<?xml version="1.0" encoding="utf-8"?>
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/srlConfiguration"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/white">

    <RelativeLayout
        android:id="@+id/rlConfiguration"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/white"
        android:orientation="vertical"
        tools:context=".ui.viewlist.ViewlistFragment">

        <TextView
            android:id="@+id/tvFilter"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:background="@drawable/bg_button"
            android:paddingHorizontal="20dp"
            android:paddingVertical="4dp"
            android:text="All Trackers"
            android:textColor="@color/white" />

        <ImageView
            android:id="@+id/ivFilter"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:layout_alignParentRight="true"
            android:layout_marginStart="10dp"
            android:layout_marginTop="10dp"
            android:layout_marginEnd="10dp"
            android:layout_marginBottom="10dp"
            android:src="@drawable/filter" />

        <View
            android:layout_width="match_parent"
            android:layout_height="2dp"
            android:layout_marginTop="45dp"
            android:background="@color/gray" />

        <ListView
            android:id="@+id/list_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="50dp"
            android:dividerHeight="1dp"
            android:padding="10dp"
            tools:visibility="visible" />


        <TextView
            android:id="@+id/empty"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:text="@string/empty_list_text" />


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

片段 B

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/white"
        android:fillViewport="false">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@color/white"
            android:orientation="vertical"
            android:paddingLeft="16dp"
            android:paddingTop="16dp"
            android:paddingRight="16dp"
            android:paddingBottom="16dp"
            tools:context=".ui.module.ModuleFragment">

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Configure your Module Data here: "
                android:textColor="@color/black"
                android:textSize="20dp" />


            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:text="Accelerometer Sensor"
                android:textSize="15sp" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:background="@drawable/edittext_bg">

                <Spinner
                    android:id="@+id/module_acc_sensor"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:entries="@array/module_config_list"
                    android:paddingHorizontal="20dp"
                    android:textColorHint="#6B7999" />
            </LinearLayout>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:text="Temperature Sensor"
                android:textSize="15sp" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:background="@drawable/edittext_bg">

                <Spinner
                    android:id="@+id/module_temp_sensor"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:entries="@array/module_config_list"
                    android:paddingHorizontal="20dp"
                    android:textColorHint="#6B7999" />
            </LinearLayout>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:text="Humidity Sensor"
                android:textSize="15sp" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:background="@drawable/edittext_bg">

                <Spinner
                    android:id="@+id/module_humidity_sensor"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:entries="@array/module_config_list"
                    android:paddingHorizontal="20dp"
                    android:textColorHint="#6B7999" />
            </LinearLayout>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:text="Wi-Fi Module"
                android:textSize="15sp" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:background="@drawable/edittext_bg">

                <Spinner
                    android:id="@+id/module_wifi"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:entries="@array/module_config_list"
                    android:paddingHorizontal="20dp"
                    android:textColorHint="#6B7999" />
            </LinearLayout>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:text="Location Tracking Module"
                android:textSize="15sp" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:background="@drawable/edittext_bg">

                <Spinner
                    android:id="@+id/module_location_tracking"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:entries="@array/module_network_list"
                    android:paddingHorizontal="20dp"
                    android:textColorHint="#6B7999" />
            </LinearLayout>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:text="Protocol Select"
                android:textSize="15sp" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:background="@drawable/edittext_bg">

                <Spinner
                    android:id="@+id/module_protocol_select"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:entries="@array/module_config_list"
                    android:paddingHorizontal="20dp"
                    android:textColorHint="#6B7999" />
            </LinearLayout>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:text="No Coverage Functionality"
                android:textSize="15sp" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:background="@drawable/edittext_bg">

                <Spinner
                    android:id="@+id/module_no_coverage"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:entries="@array/module_config_list"
                    android:paddingHorizontal="20dp"
                    android:textColorHint="#6B7999" />
            </LinearLayout>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:text="BLE Functionality"
                android:textSize="15sp" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:background="@drawable/edittext_bg">

                <Spinner
                    android:id="@+id/module_ble_functionality"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:entries="@array/module_config_list"
                    android:paddingHorizontal="20dp"
                    android:textColorHint="#6B7999" />
            </LinearLayout>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:text="Tilt Functionality"
                android:textSize="15sp" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:background="@drawable/edittext_bg">

                <Spinner
                    android:id="@+id/module_tilt_functionality"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:entries="@array/module_config_list"
                    android:paddingHorizontal="20dp"
                    android:textColorHint="#6B7999" />
            </LinearLayout>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:text="Motion State Change Interrupt"
                android:textSize="15sp" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:background="@drawable/edittext_bg">

                <Spinner
                    android:id="@+id/module_motion_state_change"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:entries="@array/motion_state_change"
                    android:paddingHorizontal="20dp"
                    android:textColorHint="#6B7999" />
            </LinearLayout>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:text="Fall Detection Interrupt"
                android:textSize="15sp" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:background="@drawable/edittext_bg">

                <Spinner
                    android:id="@+id/module_fall_det_int"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:entries="@array/module_config_list"
                    android:paddingHorizontal="20dp"
                    android:textColorHint="#6B7999" />
            </LinearLayout>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:text="Tilt Interrupt"
                android:textSize="15sp" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:background="@drawable/edittext_bg">

                <Spinner
                    android:id="@+id/module_tilt_int"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:entries="@array/module_config_list"
                    android:paddingHorizontal="20dp"
                    android:textColorHint="#6B7999" />
            </LinearLayout>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:text="Low Battery"
                android:textSize="15sp" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:background="@drawable/edittext_bg">

                <Spinner
                    android:id="@+id/module_low_batteryt"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:entries="@array/module_config_list"
                    android:paddingHorizontal="20dp"
                    android:textColorHint="#6B7999" />
            </LinearLayout>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:text="Temperature Interrupt"
                android:textSize="15sp" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:background="@drawable/edittext_bg">

                <Spinner
                    android:id="@+id/module_temp_inter"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:entries="@array/module_config_list"
                    android:paddingHorizontal="20dp"
                    android:textColorHint="#6B7999" />
            </LinearLayout>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:text="Humidity Interrupt"
                android:textSize="15sp" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:background="@drawable/edittext_bg">

                <Spinner
                    android:id="@+id/module_humidity_inter"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:entries="@array/module_config_list"
                    android:paddingHorizontal="20dp"
                    android:textColorHint="#6B7999" />
            </LinearLayout>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:text="Box Open Functionality"
                android:textSize="15sp" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:background="@drawable/edittext_bg"
                android:paddingVertical="11dp">

                <Spinner
                    android:id="@+id/spTheftAlert"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:entries="@array/disable_enable_list"
                    android:paddingHorizontal="20dp"
                    android:textColorHint="#6B7999" />
            </LinearLayout>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:text="Flight Mode"
                android:textSize="15sp" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:background="@drawable/edittext_bg"
                android:paddingVertical="11dp">

                <Spinner
                    android:id="@+id/spFlightMode"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:entries="@array/disable_enable_list"
                    android:paddingHorizontal="20dp"
                    android:textColorHint="#6B7999" />
            </LinearLayout>

            <Switch
                android:id="@+id/switchExtended"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:text="Extended Mode" />

            <TextView
                android:id="@+id/tvDeviceIdHeading"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:text="Device Id"
                android:textSize="15sp"
                android:visibility="gone" />

            <EditText
                android:id="@+id/module_deviceid_EditText"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/edittext_bg"
                android:drawableLeft="@drawable/layerdevice"
                android:drawablePadding="20dp"
                android:hint="Device Id"
                android:inputType="text"
                android:maxLines="1"
                android:paddingHorizontal="20dp"
                android:paddingVertical="10dp"
                android:textColorHint="#6B7999"
                android:visibility="gone" />

            <TextView
                android:id="@+id/computeModuleButton"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="35dp"
                android:background="@drawable/bg_button"
                android:padding="10dp"
                android:text="@string/moduleBtnLabel"
                android:textAlignment="center"
                android:textAllCaps="true"
                android:textColor="@color/white" />

            <TextView
                android:id="@+id/module_verticalTextView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="" />
        </LinearLayout>
    </ScrollView>
</FrameLayout>

https://developer.android.com/guide/fragments/transactions#add-remove 您应该了解新片段的托管位置。

您将 A 片段更改为 B,但更改为 RelativeLayout。我认为你应该将 SwipeRefreshLayout 包装到 FrameLayout 中,并在 replace() 中指定 R.id.frRoot.