【发布时间】:2014-01-27 11:44:48
【问题描述】:
我一直在使用DialogFragment 来处理应用程序上的对话框。
我读过this,它提供了一些有关如何使用它的示例,但它总是使用以下内容:
((FragmentAlertDialog)getActivity()).doPositiveClick();
((FragmentAlertDialog)getActivity()).doNegativeClick();
我不太喜欢这种实现,因为它强制转换为预先知道的 Activity,所以它不是很健壮。
我也知道在FragmentDialog 中传递和存储回调不是一个好的选择,因为如果它引用了一个 Activity,例如在旋转之后,该 Activity 可能已经被销毁了。 . 并且回调没有更新。
当活动通过onResume 时更新回调也不是一个非常可行的选择,因为它必须知道正在显示哪个对话框并设置与之相关的回调,这使得逻辑在较大的应用程序上有点棘手。
那么您建议什么实现来避免强制转换,同时始终保持最新的回调?
【问题讨论】:
标签: android dialog callback fragment