android - 使用 Android AlertDialog

标签 android dialog android-alertdialog

我想创建一个单独的类,当我需要显示带有参数的 AlertDialog 时可以调用它。

问题是我不知道那个类是否必须是一个 Activity ... alertDialog 需要一个上下文,但我可以发送当前的,因为我想要的是显示实际 Activity 的警报(而不是创建一个新的,我想在实际屏幕上显示警报)。但我无法得到它。我在发送实际 Activity 的上下文时收到错误...

只有当我像 Activity 这样创建该类时,我才开始使用它,但是这样一来,alertDialog 就单独出现了,后面没有实际的屏幕。

我能做什么?我不知道我是否理解上下文...

谢谢

最佳答案

您的类不需要扩展任何内容来生成对话框。您可以尝试通过这种方式生成一个为您创建对话框的静态方法。 确保在调用方法时使用 THIS 而不是 getApplicationContext()

MyDialogClass.getDialog(this); //good! 
MyDialogClass.getDialog(getApplicationContext()); //results in error

这可能是你错误的原因

示例类:

public class MyDialogClass
{
 public static AlertDialog getDialog(Context context)
    {
        Builder builder = new Builder(context);
        builder.setTitle("Title").setMessage("Msg").setCancelable(false)
                .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id)
                    {


                    }
                }).setNegativeButton("No", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id)
                    {

                    }
                });
        return builder.create();
    }
}

关于android - 使用 Android AlertDialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7759334/

相关文章:

Android ConstraintLayout跳到屏幕右侧

Android dialoginterface 获取内部对话框 View

android - 如何在android的非 Activity 类中实现 "finish"之类的东西?

java - 启用 GPS 提供商时关闭对话框

java - AlertDialog SingleChoiceItems 不起作用

Android:替代 GIF 加载器?

android - 如何确保广播接收器保持运行并监听传入的文本消息而不会被操作系统杀死

java - 在 Android 上创建自己的键盘

angular - 如何在 Angular 对话框 Material 中的点击转义键上实现优雅关闭的表单?

c++ - 如何在win32 windows中创建一个嵌入式文本输入框