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

Xamarin C#使用AndroidX时如何获取AndroidX版FragmentManager而非旧版

Xamarin Android 使用AndroidX版本FragmentManager解决方案

核心修改步骤

  • 首先确认你的Activity继承自AndroidX.AppCompat.App.AppCompatActivity,而非已废弃的Android.App.Activity,这是使用AndroidX系列API的基础前提
  • 移除代码顶部的using Android.App;引用,改为引入AndroidX.Fragment.App命名空间
  • 将原来调用FragmentManager的逻辑替换为调用SupportFragmentManager属性,该属性就是AndroidX提供的正式版本FragmentManager

代码示例

using AndroidX.AppCompat.App;
using Android.OS;

public class MainActivity : AppCompatActivity
{
    protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);
        SetContentView(Resource.Layout.activity_main);
        
        // 调用AndroidX版本FragmentManager开启事务
        var fragmentTransaction = this.SupportFragmentManager.BeginTransaction();
        // 补充你的Fragment操作逻辑,示例如下
        // fragmentTransaction.Replace(Resource.Id.fragment_container, new CustomFragment());
        // fragmentTransaction.Commit();
    }
}

额外注意事项

  • 你自定义的Fragment也需要继承AndroidX.Fragment.App.Fragment,不要使用旧版Android.App.Fragment,避免出现类型不匹配报错
  • 项目中所有用到旧版FragmentManager的位置,统一替换为SupportFragmentManager即可,不需要额外配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 17:06:03