Android Xamarin,无法将片段转换为V4.App.fragment

Android Xamarin,无法将片段转换为V4.App.fragment,android,xamarin,Android,Xamarin,当谈到沙马林时,我是一个新手,我遇到了一个无论我怎么努力都无法解决的问题 这就是我收到的错误消息“无法将类型'Fragment1'隐式转换为'andriod.support.V4.App.Fragment 这是我的主要活动 public class MainActivity : AppCompatActivity { int count = 1; PagerSlidingTabStrip _tabs; ViewPager _pager; protected ov

当谈到沙马林时,我是一个新手,我遇到了一个无论我怎么努力都无法解决的问题 这就是我收到的错误消息“无法将类型'Fragment1'隐式转换为'andriod.support.V4.App.Fragment

这是我的主要活动

public class MainActivity : AppCompatActivity
{
    int count = 1;
    PagerSlidingTabStrip _tabs;
    ViewPager _pager;

    protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);

        SetContentView(Resource.Layout.Main);

        _pager = FindViewById<ViewPager>(Resource.Id.pager);
        _tabs = FindViewById<PagerSlidingTabStrip>(Resource.Id.tabs);
        _pager.PageMargin = (int)TypedValue.ApplyDimension(ComplexUnitType.Dip, 4, Resources.DisplayMetrics);
        _pager.CurrentItem = 0;

        string[] titles = new string[]
            {
                "Fragment1",
                "Fragment2"
            };

        var adapter = new PagerAdapter(SupportFragmentManager, titles);
        _pager.Adapter = adapter;
        _pager.OffscreenPageLimit = titles.Length;
        _tabs.SetViewPager(_pager);
    }
}
这是我的片段

public class Fragment1 : Fragment
{
    public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {
        base.OnCreateView(inflater, container, savedInstanceState);

        var view = inflater.Inflate(Resource.Layout.Fragment1Layout, null);

        return view;
    }
}

非常感谢您的帮助

我对Xamarin不熟悉,但最近我一直在处理碎片,并多次遇到这个问题。我发现有时在初始化碎片时,它使用的是
android.app.Fragment
,而不是
android.support.v4.app.Fragment


因此,无论您在何处初始化片段(同样不熟悉Xamarin),请确保您使用android.support.v4.app.Fragment。希望这会有所帮助!

我对Xamarin不太熟悉,但我最近一直在处理片段,并多次遇到此问题。我发现有时在初始化片段时,它使用的是
android.app.Fragment
,而不是使用de>android.support.v4.app.Fragment


因此,无论您在哪里初始化片段(同样不熟悉Xamarin),请确保使用
android.support.v4.app.Fragment
。希望这有帮助!

该错误意味着您继承的是
android.app.Fragment
,而不是
android.support.v4.app.Fragment


您可以使用上面的解决方案,也可以使用此更干净的声明
using Fragment=Android.Support.V4.App.Fragment;
。将其放在using语句之前或之后,就在名称空间声明之前。

该错误意味着您继承的是
Android.App.Fragment
,而不是
Android.Supp>ort.V4.App.Fragment


您可以使用上面的解决方案,也可以使用这个更干净的声明
using Fragment=Android.Support.V4.App.Fragment;
。将它放在using语句之前或之后,就在名称空间声明之前。

不幸的是,即使这样也不能解决问题,仍然感谢您的回复您尝试过更改它吗在类声明中?如将公共类Fragment1:Fragment更改为公共类Fragment1:android.support.v4.app.Fragment?它终于起作用了!!非常感谢您为我节省了无数个小时的工作时间。不幸的是,即使这样也不能解决问题,仍然感谢您的回复您尝试过在类声明中更改它吗?如更改公共类片段1:片段到公共类片段1:android.support.v4.app.Fragment?终于成功了!!非常感谢你为我节省了无数的工作时间。
public class Fragment1 : Fragment
{
    public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {
        base.OnCreateView(inflater, container, savedInstanceState);

        var view = inflater.Inflate(Resource.Layout.Fragment1Layout, null);

        return view;
    }
}