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

MAUI Tabbed Page从其他页面调用时Android端崩溃问题

MAUI Android启动崩溃:“fragment viewid not found” 解决方案

问题背景

主页面是包含跳转按钮的ContentPage,点击按钮打开TabbedPage。代码在Windows平台运行正常,但Android平台启动时崩溃,报错“fragment viewid not found”。

错误原因

  1. 主页面XAML语法错误:主页面XAML末尾</ContentPage>标签前存在多余的ed字符,破坏了XAML结构完整性。Android对XAML语法校验更严格,这类错误会导致页面解析失败,进而引发fragment相关崩溃。
  2. 冗余属性(非直接崩溃原因):TabbedPage中设置了x:DataType="local:SecondPage"但未使用任何绑定逻辑,虽不直接导致崩溃,但会产生不必要的绑定警告,建议清理。

修复步骤

  1. 移除主页面XAML中</ContentPage>前的多余ed字符,确保XAML结构完整。
  2. (可选)移除TabbedPage中未使用的x:DataType属性,避免不必要警告。

修复后代码示例

主页面(MainPage.xaml)

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
          x:Class="TabbedMaui.MainPage"
             xmlns:local="clr-namespace:TabbedMaui" 
      >
<Button
    Text="Go" Clicked="Button_Clicked"></Button>
</ContentPage>

第二页面(SecondPage.xaml)

<?xml version="1.0" encoding="utf-8" ?>
<TabbedPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="TabbedMaui.SecondPage"
             xmlns:local="clr-namespace:TabbedMaui" 
             Title="Some title" BackgroundColor="blue">
<ContentPage Title="Page 1" BackgroundColor="Red">
    <VerticalStackLayout >
        <Label Text="Hello"></Label>
    </VerticalStackLayout>
             </ContentPage>
<ContentPage Title="Page 2" BackgroundColor="Yellow"></ContentPage>
<ContentPage Title="Page 3"></ContentPage>
</TabbedPage>

补充说明

Android平台对XAML语法正确性要求高于Windows,任何语法错误(如多余字符、未闭合标签)都会导致页面解析失败,触发fragment相关崩溃。确保XAML结构完整、语法无误是解决这类问题的核心。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 00:20:18