使用Navigation Component无法跳转至其他Activity的问题咨询
问题根因
- 你重写的
Activity2的onCreate方法是错误的重载版本:Android系统默认启动Activity时只会回调仅接收Bundle?类型参数的onCreate方法,你当前使用的带PersistableBundle?参数的重载,仅当你在AndroidManifest为对应Activity配置了android:persistableMode属性时才会被触发,这就是你断点不命中、页面空白的核心原因。 - 可选检查项:注意你navGraph中定义的Activity目的地id是
@+id/Activity2(首字母大写),跳转代码里写的是R.id.activity2(首字母小写),确认两者是否一致,避免id不匹配的问题。
解决方案
修正Activity2的onCreate方法为正确重载即可:
class Activity2 : AppCompatActivity() { // 移除PersistableBundle参数,使用默认的onCreate重载 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity2) } }
修改后重新编译运行,Activity2就能正常被启动、加载你配置的navGraph2对应的页面,也能满足你用Activity2托管登录页面、实现模态弹窗效果/隐藏底部导航的需求。
内容的提问来源于stack exchange,提问作者SmallGrammer
相关产品推荐
相关产品推荐

