xamarin 将代码更新到AndroidX后未调用OnCreateOptionsMenu

b1uwtaje  于 2022-12-07  发布在  Android
关注(0)|答案(1)|浏览(95)

我最近将我的Xamarin.Android项目更新为AndroidX代码。在我的片段中,OnCreateOptionsMenu将被调用,但在将我的片段更改为AndroidX.Fragment.App.Fragment后,它不再被调用。我将调用SetHasOptionsMenu(true),但该方法不再存在。因此我在我的OnCreateView中尝试以下方法:

View view = inflater.Inflate(Resource.Layout.my_layout, container, false);
AndroidX.AppCompat.Widget.Toolbar toolbar = view.FindViewById<AndroidX.AppCompat.Widget.Toolbar>(Resource.Id.drawerToolbar);
(this.Activity as AndroidX.AppCompat.App.AppCompatActivity).SetSupportActionBar(toolbar);
var actionBar = (this.Activity as AndroidX.AppCompat.App.AppCompatActivity).SupportActionBar;
if(actionBar != null)
{
    actionBar.SetDisplayShowTitleEnabled(false);
}

actionBar.SetDisplayShowTitleEnabled被调用,但我的OnCreateOptionsMenu覆盖仍然没有被调用。

public override void OnCreateOptionsMenu(IMenu menu, MenuInflater inflater)
{
    // never get called
}
waxmsbnn

waxmsbnn1#

你得告诉碎片他有菜单。

HasOptionsMenu = true

相关问题