在Android13中,OnBackPressed方法已经不受欢迎了。如何在Xamarin.Android中实现此代码?
@Override
void onCreate() {
if (BuildCompat.isAtLeastT()) {
getOnBackInvokedDispatcher().registerOnBackInvokedCallback(
OnBackInvokedDispatcher.PRIORITY_DEFAULT,
() -> {
/**
* Code here
*/
}
);
}
}上面的代码是官方android网站上的Java示例,但我在Xamarin中找不到替代的地方。有人能把这个翻译成C#吗?
这是Visual的建议,但一点帮助都没有。
Warning CS0672:Member 'MainActivity.OnBackPressed()' overrides obsolete member 'Activity.OnBackPressed()'. Add the Obsolete attribute to 'MainActivity.OnBackPressed()'. 发布于 2022-10-14 18:08:35
您可以尝试使用OnBackPressedDispatcher.AddCallback()
MainAcivity.cs
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
if (BuildCompat.IsAtLeastT)
{
OnBackPressedDispatcher.AddCallback(new CustomOnBackPressed(true));
}CustomOnBackPressed.cs
public class CustomOnBackPressed : OnBackPressedCallback
{
public OnBack(bool enabled) : base(enabled)
{
}
public override void HandleOnBackPressed()
{
//code that handles back button pressed
}
}相关问题
发布于 2022-10-15 23:41:56
有一系列Xamarin.Android教程使用NavigationComponent at https://github.com/gmck。随着项目的进展,您将看到OnBackPressedCallback的引入,它在后面的项目中被广泛使用。
https://stackoverflow.com/questions/74072976
复制相似问题