java - 调用弹出窗口时应用程序崩溃
问题描述
启动应用程序时必须显示弹出窗口。调用弹出窗口的函数位于 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
解决方案
您需要先初始化对话框,然后才能使用它。
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();
}
推荐阅读
- service - Angular: Asyncvalidator best practice
- bash - export not modifying global variables
- javascript - Discord.js v13 反应角色
- amazon-web-services - 恢复已删除的 AWS Sagemaker Jupyter Notebook
- javascript - 如何根据Vue.js中的其他选择从一个选择中禁用选择选项?
- django - Django / GeoDjango 在 Ubuntu / Dokku 上找不到 GDAL 库
- java - 试图解释一个检查网络连接的java嵌套循环
- customization - 移动应用程序上的 Acumatica-LotSerialNbrAttribute 屏幕
- python - 如何计算数据库列中的字段数?(不包括 NULLS,不包括它们)
- sql - 返回数据 2 年前同月前一周的日期范围