无法使用 MvvmCross 5 在 MvxFragment 上设置选项菜单
Can't set an options menu on a MvxFragment with MvvmCross 5
Objective
我有一个带有底部导航的主视图,每个元素显示不同的片段。 我想在其中一个片段上显示选项菜单,但不在其他片段上显示。
问题
我阅读的所有示例都在 OnCreate 覆盖上使用 SetHasOptionsMenu(true)
,但它 doesn't exists in the current context
如果您正在使用 Android.App.Fragment
那么您必须使用方法(MvvmCross 等效 MvvmCross.Droid.Views.Fragments.MvxFragment
)
public class Myfragment : Android.App.Fragment
{
public override void OnCreate(Bundle savedInstanceState)
{
SetHasOptionsMenu(true);
base.OnCreate(savedInstanceState);
}
}
如果您使用 Android.Support.V4.App.Fragment
形式的支持库,那么您必须使用 属性(相当于 MvvmCross MvvmCross.Droid.Support.V4.MvxFragment
)
public class Myfragment : Android.Support.V4.App.Fragment
{
public override void OnCreate(Bundle savedInstanceState)
{
HasOptionsMenu = true;
base.OnCreate(savedInstanceState);
}
}
Objective
我有一个带有底部导航的主视图,每个元素显示不同的片段。 我想在其中一个片段上显示选项菜单,但不在其他片段上显示。
问题
我阅读的所有示例都在 OnCreate 覆盖上使用 SetHasOptionsMenu(true)
,但它 doesn't exists in the current context
如果您正在使用 Android.App.Fragment
那么您必须使用方法(MvvmCross 等效 MvvmCross.Droid.Views.Fragments.MvxFragment
)
public class Myfragment : Android.App.Fragment
{
public override void OnCreate(Bundle savedInstanceState)
{
SetHasOptionsMenu(true);
base.OnCreate(savedInstanceState);
}
}
如果您使用 Android.Support.V4.App.Fragment
形式的支持库,那么您必须使用 属性(相当于 MvvmCross MvvmCross.Droid.Support.V4.MvxFragment
)
public class Myfragment : Android.Support.V4.App.Fragment
{
public override void OnCreate(Bundle savedInstanceState)
{
HasOptionsMenu = true;
base.OnCreate(savedInstanceState);
}
}