2011-03-22 26 views
1

AlertDialogのメッセージを動的に変更しようとしています。何らかの理由で、メッセージのない空のダイアログボックスが表示されます。警告ダイアログにメッセージを表示

@Override 
protected Dialog onCreateDialog(int dialogId, Bundle args) { 
switch (dialogId) { 
case ABOUT_DIALOG: 
    AlertDialog.Builder aboutDialog = new AlertDialog.Builder(this); 
    return aboutDialog.create(); 
} 
} 
@Override 
protected void onPrepareDialog(int dialogId, Dialog dialog, Bundle args){ 
super.onPrepareDialog(dialogId, dialog, args); 
switch(dialogId){ 
case ABOUT_DIALOG: 
    AlertDialog aboutDialog = (AlertDialog) dialog; 
    aboutDialog.setMessage("hello world"); 
} 
} 

アラートダイアログの内容を動的に変更するにはどうすればよいですか?

+0

正確に何を説明していますか? – Siten

+0

@siten警告ダイアログが開かれるたびに、警告ダイアログのテキストを変更したいと思います。ときには "こんにちは世界"、時には "さよなら世界"になるはずです。私はonPrepareDialogのメッセージを設定しましたが、空白のダイアログボックスが表示されます。 – siamii

+0

私のアプリにも同じことを適用しますが、septateダイアログメソッドを使用します.. n hello wordはそのメソッドを呼び出します。 – Siten

答えて

3

onCreateDialog()do aboutDialog.setMessage( ""); (または他のダミーメッセージだけ)。 作成時にダイアログにメッセージがない場合は、後から設定することはできません。

0

onPrepareDialog()の私自身の実装では、私はsuper.onPrepareDialogを呼んでいません。その行を削除して、動作を確認してください。

関連する問題