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

使用Intent跳转InformationFragment报错未在AndroidManifest声明如何解决

根本错误原因

你混淆了Activity和Fragment的使用逻辑:

  • startActivity() 方法仅能接收Activity类作为参数,作用是启动新的Activity页面
  • InformationFragment 是Fragment子类,不属于四大组件,既不能用Intent直接启动,也不需要在AndroidManifest.xml中注册。你往Manifest里添加Fragment的操作本身不符合安卓规范,才会触发类找不到的报错。

解决方案(二选一即可)

方案1:在当前showInfoActivity内加载Fragment

如果要在当前页面内显示InformationFragment,替换按钮点击事件的代码即可:

btnRegister.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        InformationFragment infoFragment = new InformationFragment();
        getSupportFragmentManager()
            .beginTransaction()
            // 此处R.id.fragment_container替换为showInfoActivity布局里用来承载Fragment的容器ID,一般为FrameLayout
            .replace(R.id.fragment_container, infoFragment)
            // 加此行可以支持点击返回键回到跳转前的页面状态
            .addToBackStack(null)
            .commit();
    }
});

方案2:新建Activity承载Fragment后跳转

如果要跳转到独立的新页面显示InformationFragment,按以下步骤操作:

  1. 新建空Activity,例如命名为InfoDisplayActivity,在其布局中添加Fragment承载容器
  2. 在AndroidManifest.xml中注册这个新建的Activity
  3. 修改按钮点击事件,调整Intent跳转目标为新建的Activity:
btnRegister.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent intent = new Intent(showInfoActivity.this, InfoDisplayActivity.class);
        startActivity(intent);
    }
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 07:45:03