Android 回退页面不是上个页面

问题

Android 回退页面不是上个页面

详细问题

笔者进行Android 开发,点击返回上一层,显示页面不是上个页面,而是之前的某个页面

页面跳转代码

java 复制代码
    private void navigateToActivity(Context context, Class<?> targetActivityClass) {
        Intent intent = new Intent(context, targetActivityClass);
        startActivity(intent);

        // 确保调用finish(),以便在启动新Activity后关闭当前Activity(可选)
        finish();
    }

解决方案

修改页面跳转代码,删去finish();

java 复制代码
    private void navigateToActivity(Context context, Class<?> targetActivityClass) {
        Intent intent = new Intent(context, targetActivityClass);
        startActivity(intent);
    }

产生原因

问题产生的原因是在页面跳转时调用了 finish() 方法,该方法会销毁当前的 Activity,并从堆栈中移除。因此,当用户在新的页面中点击返回按钮时,会返回到之前的页面,而不是上一个页面。

在 navigateToActivity() 方法中,调用了 finish() 方法,这会导致当前的 Activity 被销毁。因此,当用户点击返回按钮时,系统会从堆栈中寻找上一个页面,但上一个页面已经被销毁,所以系统会返回到之前的某个页面。

解决原因

要解决这个问题,可以简单地删去 navigateToActivity() 方法中的 finish() 方法调用。这样,在启动新的 Activity 后,当前的 Activity 将保持在堆栈中,当用户点击返回按钮时会返回到正确的上一个页面。

参考文献

产生原因与解释原因部分 部分内容参考chatgpt

原创不易

转载请标明出处

如果对你有所帮助 别忘啦点赞支持哈

相关推荐
韩仔搭建2 小时前
第二章:安卓端启动流程详解与疑难杂症调试手册
android·ui·娱乐
A-花开堪折2 小时前
Android7 Input(七)App与input系统服务建立连接
android
冰糖葫芦三剑客2 小时前
Android 自定义悬浮拖动吸附按钮
android
吃汉堡吃到饱2 小时前
【Android】从Choreographer到UI渲染(二)
android·ui
微信公众号:AI创造财富2 小时前
显示的图标跟UI界面对应不上。
android·ui
aningxiaoxixi3 小时前
安卓 Audio Stream 类型
android
奔跑吧 android3 小时前
【android bluetooth 协议分析 01】【HCI 层介绍 3】【NUMBER_OF_COMPLETED_PACKETS 事件介绍】
android·bluetooth·hci·bt·gd·aosp13
_龙小鱼_5 小时前
Kotlin扩展简化Android动画开发
android·开发语言·kotlin
奔跑吧 android6 小时前
【android bluetooth 协议分析 01】【HCI 层介绍 6】【WriteLeHostSupport命令介绍】
android·bluetooth·bt·gd·aosp13·writelehostsup·hcicmd
uwvwko6 小时前
ctfshow——web入门254~258
android·前端·web·ctf·反序列化