AlertDialog.setMessage の罠
例えば、メッセージ毎に AlertDialog を生成するのは無駄なので、prepare で適宜メッセージを差し替える、というようなコードを書くことがあると思います。
private Dialog createAlertDialog() { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.PositiveButton(android.R.string.ok, null); return builder.create(); } private void prepareAlertDialog(AlertDialog dialog, CharSequence message) { dialog.setMessage(message); }
これだと message は表示されません。ドッヒャー!
理由は簡単で、この二行ですね。
なので何かダミーの文字列をセットしておくと良いみたいです。
private Dialog createAlertDialog() { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage("") .PositiveButton(android.R.string.ok, null); return builder.create(); }
正直酷いと思う。