我在Xamarin中为Android的活动创建了一个工具栏。我使用 SupportActionBar.SetDisplayHomeAsUpEnabled(true);
启用了后退/主页按钮。如此和其他许多stackoverflow帖子所述,我正在尝试使用以下代码来捕获按下后退/主页按钮的事件:
public override bool OnOptionsItemSelected(IMenuItem item)
{
System.Diagnostics.Debug.WriteLine("OnOptionsItemSelected() called: " + item.ItemId);
switch (item.ItemId)
{
case Resource.Id.home:
System.Diagnostics.Debug.WriteLine("Home button pressed");
Finish();
return base.OnOptionsItemSelected(item);
default:
return base.OnOptionsItemSelected(item);
}
}
当我按下返回按钮时,会调用
OnOptionsItemSelected
方法,但是item.ItemId
不等于Resource.Id.home
。前者是16908332(在两个不同的设备上测试过),但后者是2131492903。如何在Xamarin中捕获工具栏中的home/back按钮?一种可能的选项是将back按钮ID硬编码为16908332,但我不知道那个数字是否会永久保持不变。
Android.Resource.Id.Home
。 - Mike M.