Caused by: android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
エラーの原因は次のとおりです。
@Override
protected Dialog onCreateDialog(int id) {
Context mContext = getApplicationContext();
Dialog dialog = new Dialog(mContext);
dialog.setContentView(R.layout.quicklog);
dialog.setTitle("Custom Dialog");
TextView text = (TextView) dialog.findViewById(R.id.text);
text.setText("Hello, this is a custom dialog!");
return dialog;
}
理由は、間違ったコンテキストが
Dialog
オブジェクトコンストラクターに渡されるためです。
Context mContext = getApplicationContext();
Dialog dialog = new Dialog(mContext);
簡単に修正できます。
getApplicationContext()
を
this
変更し
this
:
Dialog dialog = new Dialog(this);
この不正確さは後のドキュメントで修正されると思いますが、注意してください。