首页 > 解决方案 > 调用弹出窗口时应用程序崩溃

问题描述

启动应用程序时必须显示弹出窗口。调用弹出窗口的函数位于 OnCreate() 方法中。当我开始调试应用程序时,它会不断崩溃。

    public void ShowPopup() {

       dialog.setContentView(R.layout.mainactiv);
       dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
       dialog.show();
    }

这是错误消息:

java.lang.RuntimeException: Unable to start activity ComponentInfo

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.Dialog.setContentView(int)' on a null object reference

标签: javaandroidnullpointerexceptioncrash

解决方案


您需要先初始化对话框,然后才能使用它。

public void ShowPopup() {
    dialog = new Dialog(this);    // Initialize dialog before use
    dialog.setContentView(R.layout.mainactiv);
    dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
    dialog.show();
}

推荐阅读