我正在开发一个Android库,要求应用的用户在Play商店中给出评分。
库的用户体验包含几个对话框。根据第一个问题的答案,我可能需要关闭当前对话框,显示另一个对话框或将用户带到Play商店。
除非我在过程中间旋转屏幕,否则一切都很好。
我尝试使用片段来解决我的问题。使用片段我不再失去旋转对话框的状态,但是我遇到了实例化第二个DialogFragment的麻烦。问题是,在轮换之后,第一个DialogFragment的上下文不再处于活动状态,并且无法检索新上下文。每次我尝试实例化新的DialogFragment时都会导致异常。
有什么方法可以解决这个问题吗?
再次思考这个问题,似乎我的设计选择错了,但我在Android开发方面不是很有经验。每个建议都将受到欢迎。
答案 0 :(得分:0)
您应该使用侦听器模式。在每个对话框中定义一个界面,并将点击发送回活动。让它创建对话框。 see here
此外,如果您需要片段中的上下文,只需调用getActivity(),不要创建一个不必要的上下文变量,以后可以返回已经消失的活动。我希望有所帮助。如果没有一些代码,我无法在这种特定情况下看出出现了什么问题,我无法给出更好的答案。