[解決済み] PopupWindow $BadTokenException。ウィンドウを追加できません -- トークン null は有効ではありません。
2023-06-17 15:42:18
質問
PopupWindowを表示すると、以下のエラーが発生します。 エラーは、行によって引き起こされます。
checkInPopup.showAtLocation((ViewGroup) mapView.getParent(), Gravity.CENTER_HORIZONTAL, 0, 0);
mapViewはMapViewであり、nullは何もありません。 スタックトレースです。
01-08 18:00:09.402: E/AndroidRuntime(27768): Caused by: android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?
01-08 18:00:09.402: E/AndroidRuntime(27768): at android.view.ViewRootImpl.setView(ViewRootImpl.java:513)
01-08 18:00:09.402: E/AndroidRuntime(27768): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:301)
01-08 18:00:09.402: E/AndroidRuntime(27768): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:215)
01-08 18:00:09.402: E/AndroidRuntime(27768): at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:140)
01-08 18:00:09.402: E/AndroidRuntime(27768): at android.view.Window$LocalWindowManager.addView(Window.java:537)
01-08 18:00:09.402: E/AndroidRuntime(27768): at android.widget.PopupWindow.invokePopup(PopupWindow.java:988)
01-08 18:00:09.402: E/AndroidRuntime(27768): at android.widget.PopupWindow.showAtLocation(PopupWindow.java:845)
01-08 18:00:09.402: E/AndroidRuntime(27768): at android.widget.PopupWindow.showAtLocation(PopupWindow.java:809)
01-08 18:00:09.402: E/AndroidRuntime(27768): at com.geoloc.ActivityCheckIn.onCreate(ActivityCheckIn.java:50)
01-08 18:00:09.402: E/AndroidRuntime(27768): at android.app.Activity.performCreate(Activity.java:4465)
01-08 18:00:09.402: E/AndroidRuntime(27768): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
これは私のアクティビティ(MapActivityを継承したもの)のコードです。
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.checkin);
mapView = (MapView) findViewById(R.id.mapview);
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
checkInPopup = new PopupWindow(inflater.inflate(CHECK_IN_POPUP_LAYOUT, null, false));
checkInPopup.setOutsideTouchable(true);
checkInPopup.setHeight(100);
checkInPopup.setWidth(200);
checkInPopup.showAtLocation((ViewGroup) mapView.getParent(), Gravity.CENTER_HORIZONTAL, 0, 0);
}
あなたの考えを教えてくれてありがとうございます。
どのように解決するのですか?
ポップアップが早く表示されています。Onresumeのshowatlocationの遅延実行を投稿することができますので、試してみてください。
編集してください。 この投稿は、同じ問題が回答されているようです Androidアクティビティでポップアップウィンドウを作成する際の問題点
関連
-
[解決済み】Android 1.6: "android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application" (ウィンドウを追加できません。
-
[解決済み] ArrayAdapter<myClass> の使用方法
-
[解決済み] Androidの連絡先リストを呼び出すには?
-
[解決済み] getApplication()、getApplicationContext()、getBaseContext()、someClass.thisの違いと使い分け。
-
[解決済み] Android Studio - あいまいなメソッド呼び出し getClass()
-
[解決済み] AndroidでTextViewの下にアンダーラインを引くには
-
[解決済み] Gradleでビルドタイプを使用し、ContentProviderを使用する同じアプリを1つのデバイスで実行する。
-
[解決済み] EditTextの右側のDrawableにonClickListenerを設定する [重複] [重複
-
[解決済み] HttpURLConnectionを使ったPOSTによるファイル送信
-
[解決済み] <string> XMLで改行やタブを作るには(eclipse/android)?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Androidの連絡先リストを呼び出すには?
-
[解決済み] Android Studio - あいまいなメソッド呼び出し getClass()
-
[解決済み] FloatingActionButtonのサンプルとサポートライブラリ
-
[解決済み] DialogFragmentを正しく終了させるには?
-
[解決済み] 文字サイズとアンドロイドの画面サイズの違い
-
[解決済み] react nativeアプリのバージョン番号を更新する方法
-
[解決済み] Androidでツールバーの戻るボタンの色を変えるには?
-
[解決済み] Androidの環境設定。ユーザーが環境設定画面を使用していない場合、デフォルト値を読み込むにはどうすればよいですか?
-
[解決済み] ViewPager2でスワイプを無効にするには?
-
[解決済み] Recyclerviewと異なるタイプの行のインフレーションの処理