在片段中调用 getActivity() 以使其不返回 null 的最佳做法是啥? [复制]

Posted

技术标签:

【中文标题】在片段中调用 getActivity() 以使其不返回 null 的最佳做法是啥? [复制]【英文标题】:What is the best practices to call getActivity() in fragment so that it doesn't return null? [duplicate]在片段中调用 getActivity() 以使其不返回 null 的最佳做法是什么? [复制] 【发布时间】:2018-05-17 20:05:01 【问题描述】:

问题不是关于解决返回 null,而是关于防止发生的最佳实践。

在使用fragments 时应该避免哪些错误以避免在getActivity() 方法上得到null?尤其是fragments viewpagers。 通常在什么情况下发生这种情况?

【问题讨论】:

参考***.com/questions/11631408/… calling-activity-method-from-inside-a-fragment 看看这个,这可能对你有帮助。 【参考方案1】:

如果您运行的代码获得了getActivity()getContext()null,这意味着您的代码在您的片段被分离后运行,onDetach() 被调用。

这可能是因为您正在运行异步操作,而当结果返回时,您的片段与活动分离,或者它甚至可能已被销毁。所以在这种情况下,找到getActivity 以返回null 是有效的,在这种情况下,您只需要:

什么都不做,因为您想更新片段的视图,但不再向用户显示。 保存您的数据或您获得的状态,以便您可以在何时/如果重新使用它 片段再次重新附加。

【讨论】:

以上是关于在片段中调用 getActivity() 以使其不返回 null 的最佳做法是啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

即使自定义图例单击以使其不可见,如何在折线图中至少显示一行

方向更改后片段中的 getActivity() 为空

从片段中调用父母的活动

安卓。片段 getActivity() 有时返回 null

Android getActivity() 总是在片段内返回 null

getActivity() 在片段上返回 null?