首先,我很清楚会发生此错误,因为我正在尝试通过不是活动的上下文调用窗口/对话框.
但是没有任何解决方案.我的要求是;我在普通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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)