从在另一个上下文中实例化的另一个DialogFragment创建一个新的DialogFragment

时间:2014-04-17 00:29:06

标签: android android-fragments android-context

我正在开发一个Android库,要求应用的用户在Play商店中给出评分。

库的用户体验包含几个对话框。根据第一个问题的答案,我可能需要关闭当前对话框,显示另一个对话框或将用户带到Play商店。

除非我在过程中间旋转屏幕,否则一切都很好。

我尝试使用片段来解决我的问题。使用片段我不再失去旋转对话框的状态,但是我遇到了实例化第二个DialogFragment的麻烦。问题是,在轮换之后,第一个DialogFragment的上下文不再处于活动状态,并且无法检索新上下文。每次我尝试实例化新的DialogFragment时都会导致异常。

有什么方法可以解决这个问题吗?

再次思考这个问题,似乎我的设计选择错了,但我在Android开发方面不是很有经验。每个建议都将受到欢迎。

1 个答案:

答案 0 :(得分:0)

您应该使用侦听器模式。在每个对话框中定义一个界面,并将点击发送回活动。让它创建对话框。 see here

此外,如果您需要片段中的上下文,只需调用getActivity(),不要创建一个不必要的上下文变量,以后可以返回已经消失的活动。我希望有所帮助。如果没有一些代码,我无法在这种特定情况下看出出现了什么问题,我无法给出更好的答案。