返回应用程序时获取空指针异常



我有一个 MainActivity。此主活动包含一个带有片段的选项卡布局。例如,当用户更改选项卡时,我正在从片段中的主活动函数调用。

到目前为止一切正常。但是,当应用程序不在前面并且当它恢复时,并且再次调用相同的函数时,我经常会收到 nullpointer 异常。似乎在OnCreateView中创建的对象被销毁了?

在这种情况下,最佳做法是什么?

每当您的应用程序从后台进入前台时,有时该活动可能已被终止,并且系统会使用您在 SaveInstanceState 中传递的捆绑包创建它的另一个实例。因此,附加的活动实例、片段被销毁,这是新实例,它不知道片段。

在向活动添加或删除片段之前,您需要使用 fragment.isAdd(( 和片段 isVisible(( 验证片段状态。可能在那里您可能会遇到空指针异常。希望对您有所帮助。

最新更新