通常在片段中,我在onAttach()中附加一个监听器,并在onDetach()中取消监听器。
是否需要在onDetach()中将侦听器设置为null?
虽然我这样做是因为它使代码看起来更加对称,但似乎没有必要这样做,因为片段已经被销毁了,因为根据片段的生命周期,之前已经调用了onDestroyView()和onDestroy()。
提前谢谢。
如果您想通知侦听器已完成AsyncTask,但如果片段不再附加,您对结果不感兴趣,这是有意义的。然后在onPostExecute中检查侦听器是否仍然存在,如果存在,请使用它。
因此,是的,至少有一个用例可以将侦听器设置为null。
我正在实现一个片段,该片段调用两个。
我编写了一个代码来启动活动A到活动B,活动A和B都有片段实现。 场景:如果活动A经常启动包含碎片的活动B,那么大多数时候它都错过了碎片。ondetach...我检查了日志,通常它会给我下面的重写方法日志: null null 我在用 我有什么遗漏吗?有什么建议吗?
我有一个活动A。在这个活动的stepperLayout中,我使用了片段B。我从片段B调用对话片段C。在对话片段C上,我调用listenerInterface方法,但侦听器接口为空。所以有一个空指针异常。活动A没有实现接口。只有片段B实现了它。
当旋转手机或更改为深色模式(当我的活动重新创建时)时,用户将面临无法找到片段构造函数等问题。 无法启动活动组件信息{e.Quran.Qaz/e.Quran.Qaz.ui.Zhuz.QuranByPage}:androidx。碎片应用程序。片段$InstantiationException:无法实例化片段e.Quran。Qaz。用户界面。朱。PageFragment:找不到片段构造函数 在我的项目中
我目前正在一个单一的活动应用程序中工作,该应用程序为每个屏幕使用片段。我也在使用MVP设计模式。 上下文 我有一个片段(Fragment-a),其中有一个项目列表。此片段处理每个项的操作。因为它可以访问演示者 我想要什么? 如何将Frainsion-A作为侦听器传递给DialogFraank(Frainsion-B),以便我可以从DialogFraank调用操作?