在OnCreate中: SetHasOptionsMenu(true);
public override bool OnOptionsItemSelected(IMenuItem menu)
{
menu.SetChecked (true);
switch (menu.ItemId) {
case Resource.Id.selecta:
Toast.MakeText (Application.Context, "Top", ToastLength.Long);
return true;
case Resource.Id.selectb:
Toast.MakeText (Application.Context, "New", ToastLength.Long);
return true;
}
return base.OnOptionsItemSelected (menu);
}
public override void OnCreateOptionsMenu(Android.Views.IMenu menu,MenuInflater inflater)
{
//MenuInflater.Inflate (Resource.Menu.Action_menu, menu);
//menu.Clear();
inflater.Inflate(Resource.Menu.Action_menu,menu);
base.OnCreateOptionsMenu (menu,inflater);
}
选中复选框的项目时。不调用OnOptionsItemSelected。
答案 0 :(得分:1)
我猜你的Activity也有OnOptionsItemSelected
的实现。
如果您想让Fragment有机会处理此事件,请将其删除或返回false
。
活动有机会首先处理此事件。因此,在为片段调用方法之前,首先在Activity上调用onOptionsItemSelected()
。只有当Activity没有处理它时,片段才有机会处理它。