我是 Xamarin Android 的新手。我有一个活动,当按下 textview 时会显示一个警报。AlertDialog 的代码是:
textView1.Click += (sender, e) =>
{
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.SetTitle("title");
alert.SetMessage("Message");
alert.SetCancelable(false);
alert.SetPositiveButton("Cerrar Sesión", delegate { funcCerrarSesion(); });
alert.SetNegativeButton("Salir", delegate { Finish(); });
alert.SetNeutralButton("Volver", delegate { });
RunOnUiThread(() =>
{
alert.Show();
});
};
我需要在按下后退按钮时,此事件关闭 AlertDialog。谢谢你。
PD:我是 Visual Studio 2012 + Plugin Xamarin 的开发人员
编辑(ρяσѕρєя K 的解决方案):
Dialog dialog;
protected override void OnCreate(Bundle bundle)
{
..
textView1.Click += (sender, e) =>
{
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.SetTitle("Advertencia");
alert.SetMessage("Está seguro?");
alert.SetCancelable(false);
alert.SetPositiveButton("Cerrar Sesión", delegate { funcCerrarSesion(); });
alert.SetNegativeButton("Salir", delegate { Finish(); });
alert.SetNeutralButton("Volver", delegate { });
RunOnUiThread(() =>
{
dialog = alert.Create();
dialog.Show();
});
};
...
}
public override void OnBackPressed()
{
if (dialog != null)
{
if (dialog.IsShowing)
{
dialog.Dismiss();
}
else
{
base.OnBackPressed();
}
}
else
{
base.OnBackPressed();
}
}
这会继续显示警报,但back button
按下时,警报不会关闭。