Android 将getActivity()用作上下文或活动

Android 将getActivity()用作上下文或活动,android,android-context,Android,Android Context,我有一个关于使用getActivity()的问题 例如,如果我有以下两种不同的用途: 这里我只使用getActivity()来提供上下文: Toast.makeText(getActivity(), "test", Toast.LENGTH_SHORT); 这里我用它来获取资产: getActivity().getAssets(); 我的问题是,如果活动尚未添加到片段,那么这两行之间是否有任何区别 如果getActivity()仅用作上下文,是否可能获取空指针 我希望我的问题是清楚的 更新:

我有一个关于使用
getActivity()
的问题

例如,如果我有以下两种不同的用途:

这里我只使用
getActivity()
来提供
上下文

Toast.makeText(getActivity(), "test", Toast.LENGTH_SHORT);
这里我用它来获取资产:

getActivity().getAssets();
我的问题是,如果
活动
尚未添加到
片段
,那么这两行之间是否有任何区别

如果
getActivity()
仅用作
上下文
,是否可能获取空指针

我希望我的问题是清楚的

更新:对于投反对票的人,至少请解释原因


谢谢

最后,我为我的
片段
想出了这个解决方案,我没有收到任何错误,因为:

实际上,我将在方法
onAttach()
中尽快获取
片段的上下文:

由于这一点,我可以在课堂的任何地方使用
活动的上下文

对于需要从
活动
本身获取元素的情况,我将使用方法
onActivityCreated()
来确保
活动
将被完全初始化

例如:

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    //Get the device screen size
    Display display = getActivity().getWindowManager().getDefaultDisplay();
    (...)
}

当您尝试在片段中使用活动引用时,我们总是使用getActivity()获取此引用,因此它永远不会返回null。嗯,我不明白您的意思,我必须在片段中处理
getActivity()
上的几个随机空指针。请继续阅读。
@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    //Get the device screen size
    Display display = getActivity().getWindowManager().getDefaultDisplay();
    (...)
}