我有一个片段,它包含一个scrollview,它有一个LinearLayout(我把其他LinearLayout包装成了这个)
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问题的线程,但我无法解决这个问题。请帮助!!
答案 0 :(得分:1)
线性布局中的所有视图都是什么?似乎任何布局都有一些子实现它自己的滚动,比如Listview。
答案 1 :(得分:1)
在activity_details中使用Frame Layout代替片段当你有一个固定片段显示时,使用bcoz片段。 在这里你使用它显示你的电影细节片段,但是再次你在你的活动中膨胀另一个片段(电影细节片段的另一个实例)并产生问题。