C# Xamarin-Android-从导航视图打开项目?

C# Xamarin-Android-从导航视图打开项目?,c#,android,xamarin.android,navigation-drawer,C#,Android,Xamarin.android,Navigation Drawer,对于Xamarin Android来说,这是一个全新的概念。不确定如何从下面的if语句中调用另一个视图/页面-我见过其他人使用fragment或case语句,但我只是在学习,所以不想做太多更改。这是VS17的基本导航抽屉模板 protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetCont

对于Xamarin Android来说,这是一个全新的概念。不确定如何从下面的if语句中调用另一个视图/页面-我见过其他人使用fragment或case语句,但我只是在学习,所以不想做太多更改。这是VS17的基本导航抽屉模板

protected override void OnCreate(Bundle savedInstanceState)
        {

            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.activity_main);
            Android.Support.V7.Widget.Toolbar toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);
            SetSupportActionBar(toolbar);

            FloatingActionButton fab = FindViewById<FloatingActionButton>(Resource.Id.fab);
            fab.Click += FabOnClick;

            DrawerLayout drawer = FindViewById<DrawerLayout>(Resource.Id.drawer_layout);
            ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbar, Resource.String.navigation_drawer_open, Resource.String.navigation_drawer_close);
            drawer.AddDrawerListener(toggle);
            toggle.SyncState();

            NavigationView navigationView = FindViewById<NavigationView>(Resource.Id.nav_view);
            navigationView.SetNavigationItemSelectedListener(this);
        }
protectedoverride void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.activity_main);
Android.Support.V7.Widget.Toolbar-Toolbar=findviewbyd(Resource.Id.Toolbar);
设置支持操作栏(工具栏);
FloatingActionButton fab=FindViewById(Resource.Id.fab);
生产线点击+=生产线点击;
抽屉布局抽屉=FindViewById(Resource.Id.drawer\u布局);
ActionBarDrawerToggle toggle=新建ActionBarDrawerToggle(此,抽屉,工具栏,Resource.String.navigation\u抽屉\u打开,Resource.String.navigation\u抽屉\u关闭);
抽屉。添加抽屉链接器(切换);
toggle.SyncState();
NavigationView NavigationView=FindViewById(Resource.Id.nav_视图);
navigationView.SetNavigationItemSelectedListener(此);
}
下面是我重构到的if语句-我试图理解如何在选中时从这里打开另一个活动或视图

public bool OnNavigationItemSelected(IMenuItem item)
    {

        int id = item.ItemId;

        if (id == Resource.Id.nav_support)
        {

        }

        else if (id == Resource.Id.nav_housing)
        {

        }
        else if (id == Resource.Id.nav_council)
        {

        }
        else if (id == Resource.Id.nav_education)
        {

        }
        else if (id == Resource.Id.nav_employment)
        {

        }
        else if (id == Resource.Id.nav_transport)
        {

        }
        else if (id == Resource.Id.nav_policing)
        {


        }
        else if (id == Resource.Id.nav_fire)
        {

        }
        else if (id == Resource.Id.nav_medical)
        {

        }
        DrawerLayout drawer = FindViewById<DrawerLayout>(Resource.Id.drawer_layout);
        drawer.CloseDrawer(GravityCompat.Start);
        return true;
    }
}
public bool OnNavigationItemSelected(IMenuItem)
{
int id=item.ItemId;
if(id==Resource.id.nav_支持)
{
}
else if(id==Resource.id.nav_)
{
}
else if(id==Resource.id.nav_council)
{
}
else if(id==Resource.id.nav_教育)
{
}
else if(id==Resource.id.nav_就业)
{
}
else if(id==Resource.id.nav_传输)
{
}
else if(id==Resource.id.nav_policing)
{
}
else if(id==Resource.id.nav_fire)
{
}
else if(id==Resource.id.nav_medical)
{
}
抽屉布局抽屉=FindViewById(Resource.Id.drawer\u布局);
抽屉。关闭抽屉(重力压缩机启动);
返回true;
}
}

您可以使用
intent
在另一个活动中打开另一个活动。
例如:

public class MyNavigationItemSelectedListener : Java.Lang.Object, NavigationView.IOnNavigationItemSelectedListener
{
    Context context;
    public MyNavigationItemSelectedListener(Context context)
    {
        this.context = context;
    }


    bool NavigationView.IOnNavigationItemSelectedListener.OnNavigationItemSelected(IMenuItem item)
    {
        int id = item.ItemId;

        if (id == Resource.Id.nav_support)
        {
            Intent intent = new Intent(context, typeof(SupportActivity));  //the activity you want to open
            context.StartActivity(intent);

        }
        ///Other code
        ///...
        ///...
        ///...

    }
}