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

Android学习应用跳转Variable Activity时崩溃求助

Android应用跳转Activity崩溃问题排查与解决

问题情况

开发Android学习应用时,从Java_Basic Activity跳转至Variable Activity时应用崩溃,重装应用后问题仍存在。

可行解决方案

  • 检查Activity注册:确认Variable Activity已在AndroidManifest.xml中注册,未注册的Activity启动时会直接崩溃。注册示例:
    <activity
        android:name=".java.Variable"
        android:exported="false" />
    
  • 修正Intent初始化方式:Java_Basic中直接覆盖Activity的成员变量intent可能引发异常,改为创建局部Intent:
    variable.setOnClickListener{
        val intent = Intent(this, Variable::class.java)
        startActivity(intent, ActivityOptions.makeSceneTransitionAnimation(this).toBundle())
    }
    
  • 验证资源完整性:检查Variable布局中引用的所有资源(如@drawable/bg_main、@font/el_messiri_medium、@string/variable等)是否存在、拼写是否正确,资源缺失会导致布局加载失败崩溃。
  • 排除过渡动画影响:暂时注释掉过渡动画参数,仅调用startActivity(intent),若不再崩溃则排查过渡动画的配置问题。
  • 查看Logcat错误日志:通过Android Studio的Logcat工具获取崩溃时的具体异常栈信息(如ClassNotFoundException、ResourceNotFoundException),精准定位问题根源。

相关代码参考

Java_Basic Activity代码

package com.example.myapplication.java

import android.annotation.SuppressLint
import android.app.ActivityOptions
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.ImageView
import com.example.myapplication.R
import com.example.myapplication.java.Variable

class Java_Basic : AppCompatActivity() {
    @SuppressLint("MissingInflatedId")
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_java_basic)

        val back: ImageView = findViewById(R.id.back)
        val variable: Button = findViewById(R.id.variable_btn)

        back.setOnClickListener {
            onBackPressedDispatcher.onBackPressed()
        }

        variable.setOnClickListener{
            intent = Intent(this,  Variable::class.java)
            startActivity(intent, ActivityOptions.makeSceneTransitionAnimation(this).toBundle())
        }
    }
}

Variable Activity代码

package com.example.myapplication.java

import android.annotation.SuppressLint
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.ImageView
import com.example.myapplication.R

class Variable : AppCompatActivity() {
    @SuppressLint("MissingInflatedId")
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_variable)

        val back: ImageView = findViewById(R.id.back2)

        back.setOnClickListener {
            onBackPressedDispatcher.onBackPressed()
        }
    }
}

Variable布局文件代码

<?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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/bg_main" >

    <ImageView
        android:id="@+id/back2"
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="40dp"
        android:src="@drawable/ic_baseline_arrow_back_242"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:ignore="ContentDescription" />

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="49dp"
        android:layout_height="49dp"
        android:layout_marginStart="84dp"
        android:layout_marginTop="28dp"
        android:src="@drawable/javalogo"
        app:layout_constraintStart_toEndOf="@+id/back2"
        app:layout_constraintTop_toTopOf="parent"
        tools:ignore="ContentDescription" />

    <TextView
        android:id="@+id/java"
        android:layout_width="79dp"
        android:layout_height="41dp"
        android:layout_marginTop="36dp"
        android:layout_marginEnd="104dp"
        android:fontFamily="@font/el_messiri_medium"
        android:gravity="center"
        android:text="Java"
        android:textAlignment="center"
        android:textColor="@color/black"
        android:textSize="35sp"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toEndOf="@+id/imageView"
        app:layout_constraintTop_toTopOf="parent"
        tools:ignore="HardcodedText" />

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="88dp"
        android:orientation="vertical"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:ignore="MissingConstraints">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">
            <androidx.cardview.widget.CardView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:padding="10dp"
                android:layout_margin="10sp"
                app:cardBackgroundColor="#36393F"
                app:cardCornerRadius="10dp"
                app:cardElevation="8dp">

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginStart="10sp"
                    android:layout_marginTop="10sp"
                    android:fontFamily="@font/el_messiri_medium"
                    android:text="@string/variable"
                    android:layout_gravity="center_horizontal"
                    android:textColor="@color/white"
                    android:textSize="24sp"
                    android:textStyle="bold" />

                <TextView
                    android:id="@+id/intro"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="55dp"
                    android:layout_marginBottom="10sp"
                    android:autoLink="web"
                    android:fontFamily="@font/alata"
                    android:lineHeight="27dp"
                    android:justificationMode="inter_word"
                    tools:ignore="UnusedAttribute"
                    android:paddingHorizontal="10dp"
                    android:text="@string/variable_intro"
                    android:textColor="@color/white"
                    android:textColorLink="#9997CB"
                    android:textSize="16sp" />
            </androidx.cardview.widget.CardView>

            <androidx.cardview.widget.CardView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:padding="10dp"
            android:layout_margin="10sp"
            app:cardBackgroundColor="#36393F"
            app:cardCornerRadius="10dp"
            app:cardElevation="8dp">
                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical">
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginStart="10dp"
                        android:layout_marginTop="10dp"
                        android:fontFamily="@font/el_messiri_medium"
                        android:text="@string/local_var"
                        android:layout_gravity="center_horizontal"
                        android:textColor="@color/white"
                        android:textSize="24sp"
                        android:textStyle="bold" />

                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="10dp"
                        android:layout_marginBottom="10sp"
                        android:autoLink="web"
                        android:fontFamily="@font/alata"
                        android:lineHeight="27dp"
                        android:justificationMode="inter_word"
                        tools:ignore="UnusedAttribute"
                        android:paddingHorizontal="10dp"
                        android:text="@string/localvar_explain"
                        android:textColor="@color/white"
                        android:textColorLink="#9997CB"
                        android:textSize="16sp" />

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

            <androidx.cardview.widget.CardView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:padding="10dp"
                android:layout_margin="10sp"
                app:cardBackgroundColor="#36393F"
                app:cardCornerRadius="10dp"
                app:cardElevation="8dp">
                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:orientation="vertical">
                    <TextView
                        android:id="@+id/sample"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="10sp"
                        android:layout_marginBottom="10sp"
                        android:autoLink="web"
                        android:fontFamily="@font/alata"
                        android:lineHeight="27sp"
                        android:paddingHorizontal="10dp"
                        android:text="@string/java_sample"
                        android:textColor="@color/white"
                        android:textColorLink="#9997CB"
                        android:textSize="16sp"
                        tools:ignore="UnusedAttribute" />

                    <androidx.cardview.widget.CardView
                        android:layout_width="335sp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_horizontal"
                        android:padding="10dp"
                        android:layout_margin="15sp"
                        app:cardBackgroundColor="#FFF"
                        app:cardElevation="8dp">

                        <TextView
                            android:id="@+id/code1"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginTop="10sp"
                            android:layout_marginBottom="10sp"
                            android:textSize="13sp"
                            android:fontFamily="serif-monospace"
                            android:lineHeight="27sp"
                            android:paddingHorizontal="10dp"
                            android:text="@string/localvar_code"
                            android:textStyle="bold"
                            android:textColor="@color/black"
                            android:textColorLink="#9997CB"
                            android:textIsSelectable="true"
                            tools:ignore="UnusedAttribute" />

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


</androidx.constraintlayout.widget.ConstraintLayout>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 09:05:19