点击按钮时应用强制跳转至主Fragment问题求助
排查按钮跳转异常的具体步骤
1. 检查按钮点击事件绑定
- 查看布局文件中按钮的
android:onClick属性,确认是否误写为跳转到Profile的方法名(比如goToProfile),而非目标跳转方法(比如goToHasilPengecekan) - 若用代码绑定点击事件(如
button.setOnClickListener{...}),检查Lambda内的跳转逻辑:是否错误调用了findNavController().navigate(R.id.action_to_profile),而非fragment_hasil_pengecekan对应的action ID
2. 核对导航图(Navigation Graph)配置
- 打开
res/navigation/nav_graph.xml,找到当前Fragment到fragment_hasil_pengecekan的action:- 确认
android:id为目标跳转的action ID - 确认
app:destination指向fragment_hasil_pengecekan的ID,而非Profile Fragment的ID
- 确认
- 同时检查当前Fragment是否存在默认跳转/回退规则,覆盖了按钮的点击逻辑
3. 排查手动Fragment事务代码(未用导航组件时)
- 若你通过手动事务跳转,检查代码是否误将目标Fragment写成
ProfileFragment():
需改为// 错误示例 supportFragmentManager.beginTransaction() .replace(R.id.fragment_container, ProfileFragment()) .commit()HasilPengecekanFragment(),同时确认容器IDR.id.fragment_container正确
4. 检查父布局的点击事件干扰
- 按钮的父布局(如LinearLayout、CardView)若设置了点击事件,可能覆盖按钮逻辑。检查父布局是否有
android:onClick属性或代码绑定的点击事件,是否触发了跳转到Profile的逻辑
5. 验证表单提交后的逻辑
- 确认表单数据处理、验证代码中,是否误触发了Profile跳转(比如验证失败时错误执行跳转,而非提示错误)
若仍无法定位问题,可贴出按钮点击事件代码、导航图相关配置片段,方便进一步排查。
内容的提问来源于stack exchange,提问作者TBCare
相关产品推荐
相关产品推荐

