DialogFragment、getFragmentManager() 为空情况;

问题一、为什么getFragmentManager为null了。

当前DialogFragment 已经dismiss的时候,你去开启其他DialogFragment的时候,获取不到getFragmentManager()了,所以就为空了.

例如:  DialogFragmentA中开启一个对话框、此时DialogFragmentA如果关闭了,那在对话框中在开启DialogFragmentB是不可能的了,你要保证DialogFragmentA还活着才行。

 

 

问题二、为什么DialogFragment本应该执行的代码不执行了,或者报错了。

还是因为 调用了dismissAllowingStateLoss方法、提前关闭的当前的DialogFragment。

那么关闭之后的一些方法和回调就不能使用了,甚至报错,可以根据引用attachView

来保证哪些代码在DialogFragment消失的时候不让他执行,避免报错。

 

 

 

 

你可能感兴趣的:(android知识点)