VS2013中的FragmentTabHost-xamarin C#

VS2013中的FragmentTabHost-xamarin C#,c#,android,mono,C#,Android,Mono,我用来创建FragmentTabHost的代码:(我是为android 2.2到更高版本设计的) 我在谷歌上搜索了很多,但没有用 我把我所有的代码都放在这里了。 我在以下方面遇到错误: mTabHost.AddTab(spec); 请帮忙怎么解决 活动2.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using Android.App; using An

我用来创建FragmentTabHost的代码:(我是为android 2.2到更高版本设计的) 我在谷歌上搜索了很多,但没有用 我把我所有的代码都放在这里了。 我在以下方面遇到错误:

   mTabHost.AddTab(spec);
请帮忙怎么解决

活动2.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.Content.PM;
using Android.Support.V4.App;


namespace ANRestaurant.Forms
{
[Activity(Label = "ANRestaurant", MainLauncher = true, Icon = "@drawable/icon", ScreenOrientation = ScreenOrientation.Portrait)]


public class Activity2 : FragmentActivity
{
    FragmentTabHost mTabHost;
    protected override void OnCreate(Bundle bundle)
    {
        base.OnCreate(bundle);


        SetContentView(Resource.Layout.activity_main);
        try
        {
            mTabHost = FindViewById<FragmentTabHost>(Resource.Id.tabhostN  );
            Intent intent;
            intent = new Intent(this, typeof(Fragment1));
            intent.AddFlags(ActivityFlags.NewTask);
            //mTabHost.Setup(this, SupportFragmentManager, Resource.Id.tabFrameLayout);


            TabHost.TabSpec spec;
            spec = mTabHost.NewTabSpec("artists");
            spec.SetIndicator("Artists", Resources.GetDrawable(Resource.Drawable.tab_icon1)  );
            spec.SetContent(intent);
            mTabHost.AddTab(spec);   ======>Here is the error
            //mTabHost.AddTab(
            //        mTabHost.NewTabSpec("tab2").SetIndicator("Tab 2", null),
            //       intent, null);
            //mTabHost.addTab(
            //        mTabHost.newTabSpec("tab2").setIndicator("Tab 2", null),
            //        FragmentTab.class, null);
            //mTabHost.addTab(
            //        mTabHost.newTabSpec("tab3").setIndicator("Tab 3", null),
            //        FragmentTab.class, null);
        }
        catch (Exception ex)
        {


        }
    }
}
}
ٍ错误为: Java.Lang.NullPointerException:引发了类型为Java.Lang.NullPointerException的异常。 在Android.Runtime.JNIEnv.CallVoidMethod(IntPtr jobject,IntPtr jmethod,Android.Runtime.JValue[]parms)中,我通过以下方式完成了这项工作: 更改:

mTabHost.AddTab(规范)

致:

mTabHost.Setup(此,SupportFragmentManager,Resource.Id.tabFrameLayout);
mTabHost.AddTab(spec,Java.Lang.Class.FromType(typeof(Fragment1)),null)


结束

我在这里发现了同样的错误。 问题就在你的片段中:

using Android.App;
将其更改为:

using Android.Support.V4.App;
现在没事了

这浪费了我一整天

好的,在输出窗口中,它显示了类型转换错误。像这样:

Android.App.Fragment can't cast to Android.Support.V4.App.Fragment.

“我得到错误”并没有告诉我们错误是什么。请提供完整的细节。你能发布完整的stacktrace吗?
Android.App.Fragment can't cast to Android.Support.V4.App.Fragment.