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

点击跳转按钮后Android记账APP崩溃,ClassCastException问题求助

问题解决:ClassCastException导致Activity启动崩溃

错误根源

崩溃的核心原因是类型转换错误:你在AddTransactionActivity.kt第39行试图把AppCompatImageButton强制转换为Button,这两种控件类型不兼容,直接触发ClassCastException。

解决方案

两种修复方式任选其一即可:

方式1:修正代码中的控件类型

将findViewById的泛型类型改为与布局匹配的AppCompatImageButton(或通用的ImageButton):

findViewById<AppCompatImageButton>(R.id.closeBtn).setOnClickListener {
    finish()
}

如果使用了View Binding,需确保自动生成的Binding类中closeBtn的类型与布局控件一致。

方式2:修正布局文件中的控件类型

若原本就计划使用普通按钮,打开AddTransactionActivity对应的布局XML,将AppCompatImageButton标签替换为Button或AppCompatButton:

<!-- 原布局代码 -->
<androidx.appcompat.widget.AppCompatImageButton
    android:id="@+id/closeBtn"
    ... />

<!-- 修改后 -->
<androidx.appcompat.widget.AppCompatButton
    android:id="@+id/closeBtn"
    ... />

额外注意事项

你的AndroidManifest.xml中AddTransactionActivity的android:exported设为false,同应用内从MainActivity启动它是允许的,该设置不会导致当前崩溃。若后续需要从其他应用启动此Activity,再将其改为true即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 14:15:07