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

添加Xamarin.AndroidX.AppCompat.Resources后TabbedPageRenderer报错求解决

解决方案:TabbedPageRenderer未重写抽象方法错误
  • 统一AndroidX包版本
    这类错误大多源于AndroidX系列NuGet包版本不兼容。打开项目的NuGet包管理器,检查所有Xamarin.AndroidX.开头的包(如Xamarin.AndroidX.AppCompat、Xamarin.AndroidX.AppCompat.Resources、Xamarin.AndroidX.Core等),将它们全部更新到相同的稳定版本,避免混合不同版本的包。

  • 自定义TabbedPageRenderer并重写缺失方法
    若默认渲染器存在兼容性问题,可自行实现一个自定义渲染器,继承原TabbedPageRenderer并强制重写缺失的OnNavigationItemSelected方法。示例代码如下(放置在Android项目中):

    using Android.Content;
    using Android.Support.Design.Widget;
    using Android.Views;
    using Xamarin.Forms;
    using Xamarin.Forms.Platform.Android;
    
    [assembly: ExportRenderer(typeof(TabbedPage), typeof(CustomTabbedPageRenderer))]
    namespace YourApp.Droid.Renderers
    {
        public class CustomTabbedPageRenderer : TabbedPageRenderer
        {
            public CustomTabbedPageRenderer(Context context) : base(context)
            {
            }
    
            public override bool OnNavigationItemSelected(IMenuItem item)
            {
                // 保留默认逻辑或自定义处理
                return base.OnNavigationItemSelected(item);
            }
        }
    }
    

    注意替换YourApp.Droid.Renderers为你项目的实际命名空间。

  • 清理缓存并重建项目
    右键解决方案选择「清理」,手动删除项目目录下的bin和obj文件夹,之后重新构建解决方案。同时可重启Visual Studio,避免缓存文件引发的异常。

  • 降级AppCompat.Resources版本
    若最新版本的Xamarin.AndroidX.AppCompat.Resources与当前Xamarin.Forms版本不兼容,可尝试降级到与Xamarin.Forms依赖的Xamarin.AndroidX.AppCompat匹配的版本。查看Xamarin.Forms的依赖详情,找到对应的AppCompat版本后,安装同版本的AppCompat.Resources包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 15:57:18