gpt4 book ai didi

android - Android 中的 WindowManager$BadTokenException

转载 作者:行者123 更新时间:2023-11-30 04:13:32 25 4
gpt4 key购买 nike

首先,我很清楚发生此错误是因为我试图通过不是ActivityContext 调用窗口/对话框。

但是没有任何解决方案。我的要求是;我在普通 JAVA 类的方法中有一个带有自定义样式表的 Dialog。当我需要加载 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 - Android 中的 WindowManager$BadTokenException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10429213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com