当前位置: 首页 > 知识库问答 >
问题:

将ScrollView添加到我的XML布局文件后,应用程序崩溃

姚正真
2023-03-14

我正在尝试添加滚动视图。在我向XML布局文件添加ScrollView之前,一切都正常工作,然后我的应用程序就崩溃了。我该如何解决这个问题?请您建议我如何解决将ScrollView添加到布局而不对视图属性进行太多更改,特别是id@+id/mediaimage的ImageView应该是wrap_content

下面是XML代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:background="@color/CardViewBgColor"
android:orientation="vertical"
tools:context=".MainActivity">


<ScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <androidx.cardview.widget.CardView
        android:id="@+id/searchCardView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="8dp">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_margin="16dp"
            android:orientation="vertical">

            <EditText
                android:id="@+id/searchUrl"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="16dp"
                android:hint="@string/search_url_hint" />

            <Button
                android:id="@+id/search_button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:onClick="getMediaID"
                android:text="@string/button_search_text" />

        </LinearLayout>

    </androidx.cardview.widget.CardView>

    <androidx.cardview.widget.CardView
        android:id="@+id/imageCardView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="8dp"
        android:layout_marginTop="16dp"
        android:visibility="visible">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal">

                <de.hdodenhof.circleimageview.CircleImageView
                    android:id="@+id/profileImage"
                    android:layout_width="40dp"
                    android:layout_height="40dp"
                    android:layout_marginStart="16dp"
                    android:layout_marginTop="16dp"
                    android:layout_marginEnd="8dp"
                    android:layout_marginBottom="8dp"
                    android:src="@drawable/testimage" />

                <TextView
                    android:id="@+id/profileUsername"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="16dp"
                    android:layout_marginEnd="8dp"
                    android:layout_marginBottom="8dp"
                    android:text="username"
                    android:textAppearance="@style/TextAppearance.AppCompat.Subhead"
                    android:textSize="24sp" />
            </LinearLayout>

            <ImageView
                android:id="@+id/mediaImage"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:paddingStart="16dp"
                android:paddingEnd="16dp"
                android:paddingBottom="16dp"
                android:src="@drawable/testimage" />

            <TextView
                android:id="@+id/caption"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:paddingStart="16dp"
                android:paddingTop="8dp"
                android:paddingEnd="16dp"
                android:paddingBottom="8dp"
                android:text="Capion Text"
                android:textSize="16sp" />

        </LinearLayout>

    </androidx.cardview.widget.CardView>

</ScrollView>

</LinearLayout>

共有1个答案

太叔望
2023-03-14

ScrollView只能有一个子级,您需要将所有的childviews包装在LinearLayout中,这应该可以解决这个问题。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:background="@color/CardViewBgColor"
android:orientation="vertical"
tools:context=".MainActivity">


<ScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    <androidx.cardview.widget.CardView
        android:id="@+id/searchCardView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="8dp">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_margin="16dp"
            android:orientation="vertical">

            <EditText
                android:id="@+id/searchUrl"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="16dp"
                android:hint="@string/search_url_hint" />

            <Button
                android:id="@+id/search_button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:onClick="getMediaID"
                android:text="@string/button_search_text" />

        </LinearLayout>

    </androidx.cardview.widget.CardView>

    <androidx.cardview.widget.CardView
        android:id="@+id/imageCardView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="8dp"
        android:layout_marginTop="16dp"
        android:visibility="visible">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal">

                <de.hdodenhof.circleimageview.CircleImageView
                    android:id="@+id/profileImage"
                    android:layout_width="40dp"
                    android:layout_height="40dp"
                    android:layout_marginStart="16dp"
                    android:layout_marginTop="16dp"
                    android:layout_marginEnd="8dp"
                    android:layout_marginBottom="8dp"
                    android:src="@drawable/testimage" />

                <TextView
                    android:id="@+id/profileUsername"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="16dp"
                    android:layout_marginEnd="8dp"
                    android:layout_marginBottom="8dp"
                    android:text="username"
                    android:textAppearance="@style/TextAppearance.AppCompat.Subhead"
                    android:textSize="24sp" />
            </LinearLayout>

            <ImageView
                android:id="@+id/mediaImage"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:paddingStart="16dp"
                android:paddingEnd="16dp"
                android:paddingBottom="16dp"
                android:src="@drawable/testimage" />

            <TextView
                android:id="@+id/caption"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:paddingStart="16dp"
                android:paddingTop="8dp"
                android:paddingEnd="16dp"
                android:paddingBottom="8dp"
                android:text="Capion Text"
                android:textSize="16sp" />

        </LinearLayout>

    </androidx.cardview.widget.CardView>
  </LinearLayout>
</ScrollView>

</LinearLayout>
 类似资料:
  • 这是主要活动XML 这是片段活动XML 这是主活动Java文件 这是片段Java文件 我收到的logcat消息说: java.lang.RuntimeException:无法启动活动ComponentInfo{com.csdelta.haroon.fragmentpractice/com.csdelta.haroon.fragmentpractice.MainActivity}:android.v

  • 我的日志猫: 2022-07-29 21:42:03.128 24303-24303/com.example。newcadviewerapp E/AndroidRuntime:致命异常:主进程:com.example。newcadviewerapp,PID:24303 java.lang.RuntimeException:无法启动活动组件信息{com.example.newcadviewerapp

  • 我正在创建一个呼叫阻止应用程序,当我添加复选框或单选按钮到我的布局,应用程序开始崩溃。 活动代码。 } 广播接收机代码 公共void onReceive(上下文、意图){ XML文件如下所示 错误日志如下

  • 我想在我的应用程序中添加带有,但一旦我将插件添加到我的应用程序中。yaml,我的应用程序不再运行。下面是错误 失败:生成失败,出现异常。 > 错误:任务执行失败:app:transformDexArchiveWithExternalLibsDexMergerForDebug'。 通用域名格式。Android建设者德兴。DexArchiveMergerException:合并dex存档时出错:/Us

  • 当我尝试在Android Studio3中添加图像时,应用程序就会崩溃。请帮帮忙。 logcat: activity_main.xml 主要活动.java 当我删除ImageView时,应用程序就可以正常工作了。我已经尝试了一切,调整图像大小,重新安装android Studio。 有人能把问题弄清楚吗?

  • 我正在制作一个9x9数独网格,其中81个单元格中的每一个本身就是3x3网格。单个单元格如下所示: 1 2 3 4 5 6 7 8 9 每个数字代表该单元格的铅笔注释。我有一个名为cell_layout.xml的文件来表示这种3x3的排列。 我已经能够生成网格,并且代码可以工作: 上面的代码只是将81倍的所需布局膨胀到TableLayout中。 它是有效的,那么你的问题是什么? 创建活动需要太长时间