当执行长按时,我有一个对话框,会在列表中弹出一些信息。该信息取决于执行单击的列表条目。但是,我注意到当我查看信息并关闭它时(通过使用dialog.cancel()命令调用它),下次打开对话框时,它再也无法获取信息,它只是弹出我之前看到的相同对话框。克服这个问题的任何提示?谢谢!
一些进一步的信息。使用showDialog(int)命令生成对话框。从那里,它通过主活动中的onCreateDialog(int)命令调用。
编辑:我设法通过在Dialog的onClickListener中使用removeDialog(int)命令来实现这一点(它只是在它死亡时自行删除)。我不能为我的生活找到更优雅的解决方案,但我更喜欢一个。谢谢你们!
编辑:NM,意识到答案已经在这里发布了......再次感谢!
答案 0 :(得分:2)
我们可以使用更多信息,但您使用的是onPrepareDialog(int id, Dialog dialog)
还是onPrepareDialog(int id, Dialog dialog, Bundle args)
?
您应该让活动处理对话框的创建和显示。 onPrepareDialog将确保对话框在显示给用户之前具有正确的信息。
答案 1 :(得分:0)
您需要首先重新运行填充对话框的例程。