Android開発・エラー置き場

Android開発のメモやエラーなんかおいてく

*

対処法: android.view.WindowManager$BadTokenException: Unable to add window — token null is not for an application

   

Pocket

多分なんらかのダイアログを出すときに出てる人が多いだろうか、このエラー。

android.view.WindowManager$BadTokenException: Unable to add window — token null is not for an application

 

問題点は Context ですね。

 

context よりもActivityそのもの渡せやってことですね。

 

解決法

たとえばダイアログを生成するときに

AlertDialog.Builder builder = new AlertDialog.Builder(getApplicationContext());

 

みたいにやってたら

AlertDialog.Builder builder = new AlertDialog.Builder(hogeActivity.this);

みたいにして動く人が大半だと思う。

 

もし

AlertDialog.Builder builder = new AlertDialog.Builder(this);

だと、動くときもけっこうあるけど、thisがActivityを指しているとは限らないので、なるべくhogeActivity.this にしようね←hogeActivityはclass名ね。

 

他にも解決法はあるけど、これでほとんどカバーできると思うので、今回はこれくらいに。

Pocket

Amazonの90%OFF検索しまくるアプリつくったよ。役に立ったらDLお願い。
https://play.google.com/store/apps/details?id=jp.tecco.amazondiscount

 - context

  関連記事

関連記事はありませんでした