如何获取 AlertDialog 的按钮?

Yonglun Liu (Shanghai Wicresoft Co,.Ltd.) 44,171 信誉分 Microsoft 供应商
2024-05-09T09:51:33.4566667+00:00

我想在 AlertDialog 中自定义按钮

但我无法获取按钮 Id。

var dialog= new AlertDialog.Builder(Context).Create();
var button = dialog.GetButton(-1);

按钮 Id 从哪里获取? 此问题整理于:How to get button of AlertDialog? - Microsoft Q&A

.NET MAUI
.NET MAUI
一种 Microsoft 开源框架,用于构建跨移动设备、平板电脑、台式机的原生设备应用程序。
91 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. Wenyan Zhang (Shanghai Wicresoft Co,.Ltd.) 32,546 信誉分 Microsoft 供应商
    2024-05-09T09:56:03.0633333+00:00

    您好、

     

    -1表示按钮(Positive)的标识符,请直接使用Android.Content.DialogButtonType Enum。

     

    更多详情,请查看 API:

    DialogInterface.ButtonPositive Field (Android.Content) | Microsoft Learn

    DialogButtonType Enum (Android.Content) | Microsoft Learn

     

    此外,您说要在 AlertDialog 中自定义按钮,请注意在 dialog.Show() 方法后获取按钮。

     

    #if ANDROID
           var dialog = new AlertDialog.Builder(Microsoft.Maui.ApplicationModel.Platform.CurrentActivity).Create();
            dialog.SetTitle("1111");
            dialog.SetButton((int)Android.Content.DialogButtonType.Positive, "33", OkAction);
            dialog.Show();
            var button = dialog.GetButton((int)Android.Content.DialogButtonType.Positive);
    
            var a = button.Id;// get the button Id
    
            button.SetBackgroundColor(Android.Graphics.Color.Red);
            button.SetTextColor(Android.Graphics.Color.Green);
    #endif
    

     


    如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。

    注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。

    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。