0

当执行长按时,我有一个对话框,会在列表中弹出一些信息。该信息取决于执行单击的列表条目。但是,我注意到当我查看信息并关闭它(通过使用 dialog.cancel() 命令调用它)时,下次打开对话框时,它不会再费心再次获取信息,它只是弹出我之前看到的相同对话框。有什么技巧可以克服这个问题吗?谢谢!

一些进一步的信息。该对话框是使用 showDialog(int) 命令生成的。从那里,通过主活动中的 onCreateDialog(int) 命令调用它。

编辑:我设法通过在对话框的 onClickListener 中使用 removeDialog(int) 命令使其工作(它只是在死亡时自行删除)。我一辈子都找不到更优雅的解决方案,但我更喜欢一个。多谢你们!

编辑:NM,意识到答案已经在这里发布了......再次感谢!

4

2 回答 2

2

我们可以使用更多信息,但您使用的是onPrepareDialog(int id, Dialog dialog)oronPrepareDialog(int id, Dialog dialog, Bundle args)吗?

您应该让活动处理对话框的创建和显示。onPrepareDialog 将确保对话框在显示给用户之前具有正确的信息。

于 2010-12-16T17:14:35.940 回答
0

您需要重新运行最初填充对话框的例程。

于 2010-12-16T17:04:48.450 回答