gpt4 book ai didi

java.lang.IllegalStateException : ScrollView can host only one direct child

转载 作者:IT老高 更新时间:2023-10-28 23:39:03 33 4
gpt4 key购买 nike

我只是试图通过添加 ScrollView 来添加滚动浏览此布局的功能,但是每次我尝试加载布局时都会收到一条错误消息,指出“java.lang.IllegalStateException: ScrollView can host only one direct child ”,我不确定为什么。

非常感谢任何建议。

来源:

<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical" >

<RelativeLayout>

<View
android:layout_width="1dp"
android:layout_height="5dp" >
</View>

<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1" >

<com.google.android.youtube.player.YouTubePlayerView
android:id="@+id/youtubeplayerview"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />

<View
android:layout_width="1dp"
android:layout_height="5dp" >
</View>

<TextView
android:id="@+id/textView1a"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Isaac Daniel at CNN Anderson Cooper"
android:textAppearance="?android:attr/textAppearanceMedium" />

<TextView
android:id="@+id/textView2a"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="by idconex"
android:textAppearance="?android:attr/textAppearanceSmall" />

<TextView
android:id="@+id/textView3a"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="675,000,000 views"
android:textAppearance="?android:attr/textAppearanceSmall" />

<com.google.android.youtube.player.YouTubePlayerView
android:id="@+id/youtubeplayerview2"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />

<TextView
android:id="@+id/textView1b"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Rage Against The Machine - Bulls on Parade"
android:textAppearance="?android:attr/textAppearanceMedium" />

<TextView
android:id="@+id/textView2b"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="by RATMVEVO"
android:textAppearance="?android:attr/textAppearanceSmall" />

<TextView
android:id="@+id/textView3b"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1,195,601 views"
android:textAppearance="?android:attr/textAppearanceSmall" />
</ScrollView>
</RelativeLayout>

</LinearLayout>

编辑(响应 CodeMagic 的回答)

<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical" >


<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1" >
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content">



<com.google.android.youtube.player.YouTubePlayerView
android:id="@+id/youtubeplayerview"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />

<View
android:layout_width="1dp"
android:layout_height="5dp" >
</View>

<TextView
android:id="@+id/textView1a"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Isaac Daniel at CNN Anderson Cooper"
android:textAppearance="?android:attr/textAppearanceMedium" />

<TextView
android:id="@+id/textView2a"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="by idconex"
android:textAppearance="?android:attr/textAppearanceSmall" />

<TextView
android:id="@+id/textView3a"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="675,000,000 views"
android:textAppearance="?android:attr/textAppearanceSmall" />

<com.google.android.youtube.player.YouTubePlayerView
android:id="@+id/youtubeplayerview2"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />

<TextView
android:id="@+id/textView1b"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Rage Against The Machine - Bulls on Parade"
android:textAppearance="?android:attr/textAppearanceMedium" />

<TextView
android:id="@+id/textView2b"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="by RATMVEVO"
android:textAppearance="?android:attr/textAppearanceSmall" />

<TextView
android:id="@+id/textView3b"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1,195,601 views"
android:textAppearance="?android:attr/textAppearanceSmall" />

</LinearLayout>

最佳答案

正如错误所说

ScrollView can host only one direct child

View 包装在 LinearLayout 中,这样 ScrollView 就只有 LinearLayout 作为直接子级.

From the Docs

A ScrollView is a FrameLayout, meaning you should place one child in it containing the entire contents to scroll; this child may itself be a layout manager with a complex hierarchy of objects. A child that is often used is a LinearLayout in a vertical orientation, presenting a vertical array of top-level items that the user can scroll through.

<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1" >
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
// all the views currently in your ScrollView
</LinearLayout>
</ScrollView>

关于java.lang.IllegalStateException : ScrollView can host only one direct child,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20081217/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com