gpt4 book ai didi

Android,onPrepareDialog 更新参数化字符串不更新。

转载 作者:行者123 更新时间:2023-11-29 00:43:41 24 4
gpt4 key购买 nike

这似乎不起作用。警告对话框甚至不显示标题或消息,除非我在 onCreateDialog 方法中设置它们。

@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;
}
}

最佳答案

我想我已经修复了 onPrepareDialog 不显示使用 setMessage 设置的消息。最初创建对话框时(当它仍然是 AlertDialog.Builder 时),您必须将消息设置为初始状态(非空),否则 onPrepareDialog 不会用预期值覆盖它。因此,当您创建对话框时,执行类似这样的操作以在消息中始终具有非空值。我为此苦苦挣扎了好几天,偶然发现了这个解决方案:

最初创建对话框时(不在 onPrepareDialog 中):

AlertDialog.Builder resultAlert = new AlertDialog.Builder(context);

if ( message == null ) {
resultAlert.setMessage("");
} else {
resultAlert.setMessage(message);
}

然后在 onPrepareDialog 中,您应该能够使用 dialog.setMessage( yourMessage ) 用您想要的任何字符串覆盖该值。这似乎是 Google 代码中的一个缺陷(我认为他们称之为错误。)

关于Android,onPrepareDialog 更新参数化字符串不更新。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7857965/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com