首先,我很清楚這個錯誤是因爲我試圖通過不是Activity
的Context
調用窗口/對話框而發生的。
但是沒有任何解決方案。我的要求是;我有一個Dialog
與正常的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();
}
通過維持這樣的設計,有沒有什麼辦法來擺脫窗口管理器,$ BadTokenException
謝謝你
忘了提及'getAppContext()'是對Activity類的靜態引用。意思是在我的Activity類中有一個像HomeActivity.homeActivityContext = getApplicationContext();這樣的代碼段,並且從'getAppContext'中返回該變量。 – AnujAroshA