[解決済み】Android 1.6: "android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application" (ウィンドウを追加できません。
2022-03-30 01:17:36
質問
ダイアログウィンドウを開こうとしているのですが、開くたびにこの例外が発生します。
Uncaught handler: thread main exiting due to uncaught exception
android.view.WindowManager$BadTokenException:
Unable to add window -- token null is not for an application
at android.view.ViewRoot.setView(ViewRoot.java:460)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
at android.app.Dialog.show(Dialog.java:238)
at android.app.Activity.showDialog(Activity.java:2413)
を呼び出して作成しています。
showDialog
をディスプレイのidで指定します。その
onCreateDialog
ハンドラのログは正常に記録され、問題なくステップ実行できるのですが、何かが足りないようなので、添付しておきます。
@Override
public Dialog onCreateDialog(int id)
{
Dialog dialog;
Context appContext = this.getApplicationContext();
switch(id)
{
case RENAME_DIALOG_ID:
Log.i("Edit", "Creating rename dialog...");
dialog = new Dialog(appContext);
dialog.setContentView(R.layout.rename);
dialog.setTitle("Rename " + noteName);
break;
default:
dialog = null;
break;
}
return dialog;
}
何か足りないものがあるのでしょうか?いくつかの質問では、ダイアログを作成するときにこの問題が発生すると話しています。
onCreate
アクティビティがまだ作成されていないために起こりますが、これはメニューオブジェクトからの呼び出しからきていて
appContext
変数は、デバッガで正しく入力されているように見えます。
解決方法は?
の代わりに、:
Context appContext = this.getApplicationContext();
の場合、今いるアクティビティへのポインタを使用する必要があります(おそらく
this
).
私も今日これに噛まれたのですが、厄介なのは
getApplicationContext()
はdeveloper.android.comからそのまま引用しています :(
関連
-
[解決済み】AndroidのSSL接続でトラストアンカーが見つからない
-
[解決済み】インストールエラー。インストールエラー:install_failed_older_sdk
-
[解決済み】コンテンツには、id属性が「android.R.id.list」であるListViewが必要です。
-
[解決済み】シンボル 'AppCompatActivity' を解決できない。
-
[解決済み】apkインストール時のINSTALL_FAILED_NO_MATCHING_ABIS
-
[解決済み】Android 8:クリアテキストのHTTPトラフィックが許可されない
-
[解決済み] TypeError: cb.apply は関数ではありません。
-
[解決済み] Android Fragment no view found for ID?
-
[解決済み] setBackgroundDrawable() 非推奨
-
[解決済み] Android Fragment onAttach() 非推奨
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】「ArrayAdapterはリソースIDがTextViewであることが必要」XMLの問題点
-
[解決済み】AndroidのSSL接続でトラストアンカーが見つからない
-
[解決済み】シンボル 'AppCompatActivity' を解決できない。
-
[解決済み] ユーザーが拒否する可能性のあるパーミッションが必要なコール
-
[解決済み】このアクティビティは、すでにウィンドウ装飾によって提供されるアクションバーを持っています。
-
[解決済み] sendUserActionEvent() は null です。
-
[解決済み] 複数のデバイスを接続しているときにADB Shellを使用するには?error: more than one device and emulator "で失敗します。
-
[解決済み] APKのインストール中にDELETE_FAILED_INTERNAL_ERRORエラーが発生する。
-
[解決済み] "android.view.WindowManager$BadTokenException: Buider.show()で "Unable to add window "と表示される。
-
[解決済み】アクティビティコンテキストとアプリケーションコンテキストの違いについて