【发布时间】:2021-04-13 13:53:27
【问题描述】:
我的实现代码有问题,该代码解决了确认软件和硬件按钮返回的问题。我需要确认并保存状态页面字段。当确认为真且保存状态没有错误时,我想关闭页面,当确认为假或保存状态有错误时,我想停止关闭页面。我将 xamarin.forms 与 mvvm prism 一起使用。
【问题讨论】:
标签: xamarin.forms mvvm prism
我的实现代码有问题,该代码解决了确认软件和硬件按钮返回的问题。我需要确认并保存状态页面字段。当确认为真且保存状态没有错误时,我想关闭页面,当确认为假或保存状态有错误时,我想停止关闭页面。我将 xamarin.forms 与 mvvm prism 一起使用。
【问题讨论】:
标签: xamarin.forms mvvm prism
如果你想自定义Android设备的软件和硬件返回按钮的方法,你可以覆盖OnOptionsItemSelected和@ MainActivity.cs 中的 987654323@ 方法来实现。
软件返回MainActivity.cs中的按钮代码:
protected override void OnCreate(Bundle savedInstanceState)
{
...
Android.Support.V7.Widget.Toolbar toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);
SetSupportActionBar(toolbar);
SupportActionBar.SetHomeButtonEnabled(true);
}
public override bool OnOptionsItemSelected(IMenuItem item)
{
if(item.ItemId == Android.Resource.Id.Home)
{
Console.WriteLine("software back button press");
return false;
}
else
{
return base.OnOptionsItemSelected(item);
}
}
硬件返回MainActivity.cs中的按钮代码:
public override bool OnKeyDown([GeneratedEnum] Keycode keyCode, KeyEvent e)
{
if(e.Action == KeyEventActions.Down && keyCode == Keycode.Back)
{
Console.WriteLine("hardware back button press");
}
return false;
}
【讨论】: