Android,onPrepareDialog要更新参数化字符串,但未更新。
这似乎不起作用。警报对话框甚至不显示标题或消息,除非我在onCreateDialog方法中设置它们Android,onPrepareDialog要更新参数化字符串,但未更新。,android,Android,这似乎不起作用。警报对话框甚至不显示标题或消息,除非我在onCreateDialog方法中设置它们 @Override protected void onPrepareDialog(int id, Dialog dialog) { super.onPrepareDialog(id, dialog); switch(id) { case R.id.catalog_rename_dialog: ((AlertDialog) dialog).setTitle(
@Override
protected void onPrepareDialog(int id, Dialog dialog) {
super.onPrepareDialog(id, dialog);
switch(id) {
case R.id.catalog_rename_dialog:
((AlertDialog) dialog).setTitle(getString(R.string.catalog_rename_prompt, catalogDb.getColumnById(selectedCatalogId, CatalogDbAdapter.KEY_NAME)));
break;
case R.id.catalog_delete_dialog:
((AlertDialog) dialog).setMessage(getString(R.string.delete_prompt, catalogDb.getColumnById(selectedCatalogId, CatalogDbAdapter.KEY_NAME)));
break;
}
}
我认为你混淆了创造和准备行为
- 用于设置对话框上的控件。它只叫一次
- 用于自定义显示的值。每次显示对话框时都会调用它
AlertDialog.Builder resultAlert = new AlertDialog.Builder(context);
if ( message == null ) {
resultAlert.setMessage("");
} else {
resultAlert.setMessage(message);
}