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

Android開発・エラー置き場

context

対処法: 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

-context

Copyright© Android開発・エラー置き場 , 2019 All Rights Reserved Powered by STINGER.