落ちてしまいました。
最初はスレッドの中で UI をいじるからおかしいのかなーとか初心者的に思ってたんですが、スレッドよくわからず・・・。
落ちるときは Android 端末にこんなダイアログがでます。
でその時のコード
落ちた時 LogCat にこんなエラーメッセージがありました。
406050159201-26 01:06:50.074: E/AndroidRuntime(1979): android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
ググってみたら stackoverflow に行き着いた。
どうも builder に渡してる Context に問題があると。
こう書き換えた。
成功した。
要するに
AlertDialog.Builder builder = new AlertDialog.Builder(getApplicationContext());
を
AlertDialog.Builder builder = new AlertDialog.Builder(ContextExampleActivity.this);
に書き換えた。
getApplicationContext() で返す Context には描画できないってことなんでしょうk?
アラートダイアログ生成の時に渡す Context は Activity がよさそうです。
しかし、
getApplication()
getApplicationContext()
getBaseApplication()
ClassName.this
ClassName.class
とか、いろいろあってどれを使えばいいのかわからんです。