You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android音乐应用跳转登录页面崩溃:InflateException及Drawable资源缺失问题求助

问题分析与解决方案

咱们一步步拆解你的崩溃问题并解决它:

从错误日志和代码来看,崩溃的核心是Login页面布局解析失败,背后有两个明确的诱因:布局文件缺少根容器,以及引用的Drawable资源缺失。

1. 修复activity_login.xml的根布局缺失问题

Android布局文件必须有一个唯一的根ViewGroup(比如ConstraintLayout、LinearLayout),但你提供的activity_login.xml直接放置了TextView、EditText等控件,没有根容器,这会直接触发InflateException。

修改后的完整activity_login.xml示例如下:

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/black"
    tools:context=".Login">

    <TextView
        android:id="@+id/signInText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="83dp"
        android:layout_marginTop="76dp"
        android:layout_marginEnd="84dp"
        android:text="Sign into your account!"
        android:textColor="@color/white"
        android:textSize="24sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <EditText
        android:id="@+id/email"
        android:layout_width="350dp"
        android:layout_height="50dp"
        android:layout_marginStart="30dp"
        android:layout_marginTop="32dp"
        android:layout_marginEnd="31dp"
        android:backgroundTint="@color/white"
        android:drawableLeft="@drawable/ic_baseline_email_24"
        android:drawablePadding="15dp"
        android:hint="Email"
        android:textColorHint="@color/white"
        android:textSize="20sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/signInText" />

    <EditText
        android:id="@+id/password"
        android:layout_width="350dp"
        android:layout_height="50dp"
        android:layout_marginStart="30dp"
        android:layout_marginTop="28dp"
        android:layout_marginEnd="31dp"
        android:backgroundTint="@color/white"
        android:drawableLeft="@drawable/ic_baseline_lock_24"
        android:drawablePadding="15dp"
        android:hint="Password"
        android:textColorHint="@color/white"
        android:textSize="20sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/email" />

    <Button
        android:id="@+id/logInButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="153dp"
        android:layout_marginTop="36dp"
        android:layout_marginEnd="164dp"
        android:text="Log In"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/password" />
</androidx.constraintlayout.widget.ConstraintLayout>

2. 解决Drawable资源缺失问题

错误日志里的Resources$NotFoundException: Drawable (missing name) with resource ID #0x7f0501a5,对应你在布局中引用的@drawable/ic_baseline_email_24或@drawable/ic_baseline_lock_24资源:

  • 检查项目的res/drawable(或适配不同版本的drawable-vXX目录)下是否存在这两个Drawable文件(矢量图xml或位图都可以);
  • 如果没有这些资源,你可以:
    • 从Material Icons库下载对应的矢量图添加到项目;
    • 暂时删除android:drawableLeft属性,先验证布局能否正常加载;
    • 替换成项目中已有的其他Drawable资源。

3. 最后验证步骤

完成修改后,执行以下操作确保资源同步:

  • 点击Android Studio菜单栏的Build -> Clean Project;
  • 再点击Build -> Rebuild Project;
  • 重新运行应用测试跳转逻辑。

这样应该就能解决点击“开始”按钮后崩溃的问题了。

内容的提问来源于stack exchange,提问作者Avrius

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.27 21:32:38