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

Android onBackPressed过时引发返回按钮导航异常及崩溃问题求助

解决onBackPressed过时及返回按钮异常问题

问题原因

onBackPressed()方法已被官方标记为过时,继续使用会与系统返回逻辑产生冲突,导致重复跳转,甚至在Activity已销毁后触发返回操作引发崩溃。

解决方案

使用AndroidX官方推荐的OnBackPressedDispatcher替代过时的onBackPressed()方法,修改自定义返回按钮的点击事件逻辑:

将原代码中的:

backBtn.setOnClickListener(v -> {onBackPressed();});

替换为:

backBtn.setOnClickListener(v -> {
    getOnBackPressedDispatcher().onBackPressed();
});

补充优化

为避免潜在的空指针异常,建议给otherUser添加非空判断:

if (otherUser != null) {
    otherUsername.setText(otherUser.getUsername());
}

逻辑说明

getOnBackPressedDispatcher()会获取当前Activity的返回调度器,它能统一处理系统返回键和自定义返回按钮的逻辑,既避免重复触发返回操作,又能在Activity状态不允许返回时(如已销毁)进行安全处理,从根源解决崩溃问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 08:37:14