Android中的WindowManager $BadTokenException

Android中的WindowManager $BadTokenException,第1张

概述首先,我很清楚会发生此错误,因为我正在尝试通过不是活动的上下文调用窗口/对话框.但是没有任何解决方案.我的要求是;我在普通JAVA类的方法中有一个带有自定义样式表的对话框.当我需要加载Dialog时,我想从任何Activity类中调用该方法.在我的Activity类中,我设置了以下代码;HomeCla

首先,我很清楚会发生此错误,因为我正在尝试通过不是活动的上下文调用窗口/对话框.

但是没有任何解决方案.我的要求是;我在普通java类的方法中有一个带有自定义样式表的对话框.当我需要加载Dialog时,我想从任何Activity类中调用该方法.

在我的Activity类中,我设置了以下代码;

HomeClass homeClass = new HomeClass();homeClass.showSplashScreen();

然后在我的HomeClass中,我设置了以下代码;

public voID showSplashScreen() {         splashDialog = new Dialog(HomeActivity.getAppContext(), R.style.SplashScreen); splashDialog.setContentVIEw(R.layout.splash_screen); splashDialog.setCancelable(false); splashDialog.show();}

通过保持这种设计,是否有任何方法可以摆脱WindowManager $BadTokenException

谢谢

解决方法:

我将修改您的代码,这可能对您有所帮助…

HomeClass homeClass = new HomeClass(this);homeClass.showSplashScreen();

在您的Home类中..添加参数构造函数.

public class Home {private Context context;public Home(Context context){this.context = context;}public voID showSplashScreen() {        splashDialog = new Dialog(context, R.style.SplashScreen); splashDialog.setContentVIEw(R.layout.splash_screen); splashDialog.setCancelable(false);splashDialog.show();}
总结

以上是内存溢出为你收集整理的Android中的WindowManager $BadTokenException全部内容,希望文章能够帮你解决Android中的WindowManager $BadTokenException所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1095920.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存