禁用后退按钮C#Android Xamarin代码无响应

时间:2016-03-08 08:41:59

标签: c# android visual-studio xamarin

所以我试图禁用我的应用程序中的后退按钮,它似乎使用的代码不想回应,很难用文字解释所以我做了一个gif所以你可以更清楚地看到它并理解因为我不是我一定能用语言解释。

我想禁用“Activity2”中的后退按钮但是我一直在尝试的代码不想响应后退按钮 Here is the GIF

我已经尝试过这些代码,因为我刚刚开发android开发,所以不知道更多解决方案。

首次尝试

public override void OnBackPressed ()
    {
    base.OnBackPressed ();
    }

第二次尝试(两者都做同样的事情)

public override void OnBackPressed ()
    {
       //  base.OnBackPressed ();            /*  Comment this base call to avoid calling Finish()  */
       //  Do nothing
    }

这可能是什么问题?

4 个答案:

答案 0 :(得分:5)

试试这个

protected override bool OnBackButtonPressed()
{
    return true;
}

返回true意味着什么都不会发生..如果你返回false,它仍然应该执行默认操作(返回)

这是在至少一个内容页面上进行此操作的方法...不确定活动。

也许试试这个: OnBackPressed in Xamarin Android

protected override void OnBackPressed() 

[Activity ( NoHistory = true )]

你确定按下后退按钮实际进入了你的功能吗?

设置这样的断点: http://imgur.com/maQCdBg

以调试模式启动应用程序(F5)

答案 1 :(得分:0)

此代码将使其工作,确保您在运行之前构建程序并重新启动模拟器(我认为这是使它适用于我的原因)

public override void OnBackPressed()
        {
            //  base.OnBackPressed ();            /*  Comment this base call to avoid calling Finish()  */
            //  Do nothing
        }

答案 2 :(得分:0)

我这样做了,效果很好

 public override void OnBackPressed()
        {
            // This prevents a user from being able to hit the back button and leave the login page.
            return;

            //base.OnBackPressed();
        }

答案 3 :(得分:-1)

您可以尝试这样
步骤1添加[Activity(NoHistory =true)
步骤2添加
protected override bool OnBackButtonPressed() { return true; }
转到要禁用“按下后退按钮”的内容页面。