我得到了例外:
java.lang.IllegalStateException: ScrollView can host only one direct child
这是我的布局:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/frame"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/bg_listgrey"
android:scrollbars="none" >
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/bg_listgrey" >
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/rl1">
<ImageView
/>
<TextView
/>
<TextView
/>
<TextView
/>
</RelativeLayout>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/rl2"" >
<ImageView
/>
<TextView
/>
</RelativeLayout>
</RelativeLayout>
</ScrollView>
在 Activity 的情况下,相同的布局可以正常工作。因为它在Fragment中使用时会给出异常。
主要活动:
FragmentTransaction t = this.getSupportFragmentManager()
.beginTransaction();
t.add(R.id.frame, new mFragment());
t.commit();
谢谢
编辑:
如果我将此 ScrollView 包装在 FragmeLayout 中,它可以正常工作。
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/frame"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/bg_listgrey" >
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="none" >
.......
.......
.......
</ScrollView>
</FramLayout>