我有一个ActivityA
,主持一个fragmentA
onAttach()
的{p> fragmentA
方法,我需要检查一些条件,如果失败,我需要完成活动。
我正在通过致电getActivity().finish()
完成活动。
即使我调用了finish方法,它仍然会调用onCreate()
中的onCreateView()
,onViewCreated()
和fragmentA
方法。
有什么办法可以阻止这些电话吗?
答案 0 :(得分:1)
正如@DeeV评论的那样,我会在附加Fragment
之前检查条件。在这种情况下,您不必处理片段生命周期,这是一种更干净的方式。
如果无法做到这一点,就会有一种愚蠢的方式。您可以在finish()
中调用onAttach()
,然后使用活动的方法isFinishing()
,该方法会返回boolean
标记。我认为这应该可以解决问题。
E.g。在您的片段的onCreate
方法中:
if (getActivity().isFinishing()) {
// finish was called in onAttach
}