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

Android调用startActivity跳转时重启当前Activity而非启动MenuActivity问题

问题根因

你已经定位到了错误点:MenuActivity的onCreate方法中加载Fragment的逻辑直接复用了之前的代码,错误加载了LoginFragment而非预期的MenuFragment,所以点击登录跳转到MenuActivity后,界面展示的还是登录页,视觉效果就和当前Activity重启一致。

修复方案

只需要修改MenuActivity里的Fragment初始化逻辑即可,修正后的代码如下:

public class MenuActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_menu);

        // 把所有LoginFragment替换为MenuFragment即可
        FragmentManager fm = getSupportFragmentManager();
        MenuFragment frag = (MenuFragment) fm.findFragmentById(R.id.menuFragmentContainer);
        if(frag == null)
        {
            frag = new MenuFragment();
            fm.beginTransaction()
                    .add(R.id.menuFragmentContainer, frag)
                    .commit();
        }
    }
}

调试建议

这类复制粘贴带来的类型错误属于开发常见问题,后续遇到类似跳转异常时,可以先在目标Activity的onCreate方法里加个断点或者打印日志,就能快速区分是跳转逻辑没生效,还是跳转后加载的内容不符合预期,减少无效排查时间。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 22:18:02