按下按钮

时间:2015-12-23 10:00:19

标签: c# android xamarin alertdialog back-button

我在Xamarin(C#)上编写Android应用程序

当我点击活动上的后退按钮时,我需要以“是”和“否” variantes显示提醒。

我怎么能意识到这一点?

我知道如何显示警报。当我按下按钮

时,我怎么能做到

3 个答案:

答案 0 :(得分:2)

试试这个,添加到您的活动

@Override
    public void onBackPressed() {
        AlertDialog.Builder builder =
                    new AlertDialog.Builder(this, R.style.AppCompatAlertDialogStyle);
            builder.setTitle(getResources().getString(R.string.app_name));
            builder.setMessage("" + Message);
            builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {

                    //write your code

                }
            });
            builder.setNegativeButton("No", null);
            builder.setCancelable(false);
            builder.show();
    }

答案 1 :(得分:1)

Xamarin为原生Android Activity类提供包装器。所以你可能在你的Xamarin Android项目中有一个MainActivity和其他Activity类。 在这些类中,您可以覆盖从FormsApplicationActivity继承的OnBackPressed方法,然后从那里创建并显示警报。

public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity
{
    public override void OnBackPressed()
    {
        // show Alert or pass call on to base.OnBackPressed()
    }
}

答案 2 :(得分:0)

由于Xamarin Forms 1.3.0 pre3,有一种新方法:

protected bool OnBackButtonPressed();

您需要在页面上覆盖此内容。

    protected override bool OnBackButtonPressed()
    {    
         // If you want to stop the back button and show alert
         return true;

         // If you want to continue going back
          base.OnBackButtonPressed();
          return false; 
    }

感谢Xamarin论坛。有关详细信息,请参阅this链接。