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

IntroActivity绑定失效,仅显示Hello World问题排查求助

问题解决:IntroActivity绑定失败,界面仅显示Hello World

问题描述

无法正常绑定IntroActivity,执行相关操作后界面仅显示默认的“Hello World”,以下是相关代码与配置:

IntroActivity代码

package com.example.drappointment

import android.content.Intent
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.example.drappointment.databinding.ActivityIntroBinding

class IntroActivity : AppCompatActivity() {
    private lateinit var binding: ActivityIntroBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityIntroBinding.inflate(layoutInflater)
        setContentView(binding.root)
        binding.startBtn.setOnClickListener {
            startActivity(Intent(this@IntroActivity, MainActivity::class.java))
        }
    }
}

activity_intro.xml布局文件

<?xml version="1.0" encoding="utf-8"?>
<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:id="@+id/main"
    android:background="@color/purple"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".IntroActivity">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="16dp"
        android:layout_marginTop="64dp"
        android:text="Exceptional Care
Close To You"
        android:textColor="@color/white"
        android:textSize="34sp"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:ignore="HardcodedText" />

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:contentDescription="@string/intro_image_description"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:srcCompat="@drawable/intro_women"
        tools:ignore="ImageContrastCheck" />

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="4dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:srcCompat="@drawable/white_halo" />

    <androidx.appcompat.widget.AppCompatButton
        android:id="@+id/startBtn"
        style="@android:style/Widget.Button"
        android:layout_width="170dp"
        android:layout_height="60dp"
        android:layout_marginTop="24dp"
        android:background="@drawable/purple_bg"
        android:drawableEnd="@drawable/white_arrow"
        android:paddingStart="8dp"
        android:paddingEnd="16dp"
        android:text="Get Started"
        android:textColor="@color/white"
        android:textSize="20sp"
        app:layout_constraintTop_toBottomOf="@+id/textView"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        tools:ignore="HardcodedText" />
</androidx.constraintlayout.widget.ConstraintLayout>

Gradle版本

distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip

ViewBinding配置

buildFeatures {
    viewBinding = true
}

解决步骤

  • 检查启动Activity配置
    打开AndroidManifest.xml,确认IntroActivity被设置为启动Activity,而非默认的MainActivity。正确配置应包含如下intent-filter:

    <activity
        android:name=".IntroActivity"
        android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    

    若MainActivity仍保留该intent-filter,启动时会加载默认的Hello World布局。

  • 清理并重建项目
    ViewBinding生成的绑定类可能存在缓存问题,执行以下操作:

    1. 点击Android Studio顶部菜单栏Build -> Clean Project
    2. 完成后点击Build -> Rebuild Project
    3. 重新运行应用
  • 确认ViewBinding配置位置
    确保viewBinding = true配置在app模块的build.gradle文件中(而非项目根目录的build.gradle),且位于android节点下:

    android {
        // 其他配置...
        buildFeatures {
            viewBinding = true
        }
    }
    
  • 检查布局文件有效性
    确认activity_intro.xml无语法错误(如未定义的颜色、Drawable资源),此类错误会导致布局无法正常加载,系统会 fallback 到默认布局。可通过Android Studio布局编辑器查看红色提示排查问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 08:52:35