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

.NET MAUI登录页面点击按钮出现Fragment ID未找到错误求助

解决.NET MAUI中点击登录/注册按钮出现的Android Fragment容器找不到错误

错误原因分析

这个Java.Lang.IllegalArgumentException错误的核心是:App尝试将ViewFragment加载到ID为navigationlayout_toptabs的容器时,找不到对应的View。而点击管理员按钮无异常,说明仅AnaMenu和KayitEkrani页面存在错误的Fragment加载逻辑,AdminGiris页面没有相关操作。

你已在navigationlayout.xml中添加了对应容器,但大概率是以下几个环节出了问题:

解决方案

1. 检查目标页面的布局引用

  • 确认AnaMenu和KayitEkrani的Android专属布局(Resources/layout下的对应文件)是否正确引用了navigationlayout.xml作为根布局,或布局中是否包含android:id="@+id/navigationlayout_toptabs"的FragmentContainerView。
  • 注意:如果AnaMenu使用了自定义Android布局,必须确保容器ID存在且拼写完全一致;若用MAUI共享XAML,需确认自动生成的Android布局未丢失该容器。

2. 修正Fragment加载的时机与逻辑

  • 若AnaMenu或KayitEkrani中有Android原生代码(比如OnCreate/OnAppearing中)尝试加载Fragment到navigationlayout_toptabs,需确保:
    • 调用FindViewById时使用Resource.Id.navigationlayout_toptabs而非硬写数字ID,避免ID编译后不匹配。
    • 等待布局完全初始化后再执行加载(比如在OnViewCreated或MAUI的Handler回调中操作),防止布局未渲染就查找容器。

3. 对比AdminGiris页面的差异

  • 将AnaMenu的初始化逻辑与AdminGiris对比,移除不必要的Fragment加载代码。若AnaMenu使用了Android Navigation Component,需确认导航图中目标Fragment对应的容器ID配置正确。

4. 清理重建项目

  • Android资源ID可能因缓存出现不匹配,删除项目的bin和obj文件夹,重新生成解决方案,确保navigationlayout_toptabs的ID被正确编译。

额外提示

登录按钮代码里有个多余操作:komut.ExecuteNonQuery();,该方法用于增删改操作,查询场景直接用ExecuteReader()即可,虽不影响当前错误,但可删除以避免不必要的数据库调用。

内容的提问来源于stack exchange,提问作者Mehmet Çalıştırır

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 06:45:59