IllegalStateException : ScrollView 只能承载一个直接子视图

IllegalStateException : ScrollView can host only one direct child

我有一个片段,它由一个滚动视图组成,它有一个 LinearLayout(我已经将其他 LinearLayouts 包装到这里)

Fragment_Details.xml

 <ScrollView
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     tools:context=".DetailsActivityFragment">

     <LinearLayout...>

</ScrollView>

在 DetailsActivity 中,我添加了一个片段

DetailsActivity.java

 DetailsActivityFragment fragment = new DetailsActivityFragment();
        fragment.setArguments(b);

        getSupportFragmentManager().beginTransaction()
                .add(R.id.movie_details,fragment)
                .commit();

Activity_Details.xml

<fragment
android:id="@+id/movie_details"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name=".DetailsActivityFragment"
tools:ignore="MergeRootFrame"/>

但是当我 运行 程序时,我得到以下错误:

java.lang.RuntimeException: Unable to start activity ComponentInfo{...}: java.lang.IllegalStateException: ScrollView can host only one direct child

我关注了关于 ScrollView 问题的话题,但我无法解决这个问题。请帮忙!!

线性布局中有哪些视图?似乎任何布局都有一些 child 实现了它自己的滚动,比如 Listview。

看到这个:ListView inside ScrollView is not scrolling on Android

在 activity_details 中使用框架布局而不是片段 bcoz 片段用于当您有固定片段要显示时。 在这里,您使用它显示了您的电影细节片段,但随后又在您的 activity 中膨胀了另一个片段(电影细节片段的另一个实例)并造成了问题。