繁体   English   中英

Xamarin.Forms MvvM Prism 软件和硬件返回按钮

[英]Xamarin.Forms MvvM Prism Software and Hardware Back Button

我的实现代码有问题,它解决了确认软件和硬件按钮返回的问题。 我需要确认并保存 state 页面字段。 当确认为真并保存 state 没有错误我想关闭页面时,当确认为假或保存 state 有错误我想停止关闭页面。 我将 xamarin.forms 与 mvvm 棱镜一起使用。

如果您的意思是要自定义Android设备的软硬件返回按钮的方法,您可以重写OnOptionsItemSelectedOnKeyDown方法实现。

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;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM