工具栏后退单击不适用于Xamarin android

时间:2018-05-31 09:18:59

标签: xamarin.android

我创建了带有后退箭头的工具栏,点击无效

 toolbar = FindViewById<Toolbar>(Resource.Id.toolbar2);
 toolbar.NavigationClick += Back;
 private void Back(object sender, Toolbar.NavigationClickEventArgs e)
 {
    Finish();
 }

1 个答案:

答案 0 :(得分:2)

在OnCreate方法中执行以下操作:

ActionBar.SetHomeButtonEnabled(true);
ActionBar.SetDisplayHomeAsUpEnabled(true);

然后像这样覆盖OnOptionsItemSelected方法。

public override bool OnOptionsItemSelected(IMenuItem item)
 {
   switch (item.ItemId)
    {
         case Android.Resource.Id.Home:
         Finish();
         return true;

       default:
       return base.OnOptionsItemSelected(item);
    }
  }

如果您使用Xamarin.Android.Support.v7,则Android.Resource.Id.Home应为Resource.Id.Home

此外,您只需ActionBar.SetDisplayHomeAsUpEnabled(true);即可显示主页按钮,无需拨打ButtonEnabled。

OnCreate中有类似的内容:

Toolbar toolbar = FindViewById<Toolbar>(Resource.Id.toolbarID);
SetSupportActionBar(toolbar);
SupportActionBar.SetDisplayHomeAsUpEnabled(true);

OnOptionsItemSelected中的类似内容:

public override bool OnOptionsItemSelected(IMenuItem item)
  {
switch (item.ItemId)
  {
  case Android.Resource.Id.Home:
  Finish();
  return true;

      default:
  return base.OnOptionsItemSelected(item);
  }
  }