我在我的应用程序中使用了碎片。而在使用它们时非常普遍的问题是当使用getActivity()时会出现NPE(NullPointerException)。我知道我们可以通过每次检查getActivity() != null
或检查片段是否isAdded()
来解决它。
在我的某个类中,我在60多个地方获取活动的上下文。在所有这些地方检查getActivity()
不是空或片段仍添加到活动中,使代码变得丑陋、更长且难以维护。有没有其他方法来处理这个问题?甚至在从活动中删除片段时销毁片段(并停止它正在进行的任何工作)是否可能?