代码之家  ›  专栏  ›  技术社区  ›  M.kazem Akhgary

当片段中的上下文为null时该怎么办

  •  0
  • M.kazem Akhgary  · 技术社区  · 6 年前

    如果上下文为null,只从方法返回而不执行任何操作是否安全(正确)?目前,当我需要来自片段的上下文时,我正在这样做。

    Context context = getContext();
    if(context == null) return;
    


    我办理登机手续 onCreateView onViewCreated ,从中获取上下文时 itemView 在视图支架和内部视图中,根据需要单击侦听器。

    2 回复  |  直到 6 年前
        1
  •  2
  •   Dewey Reed    6 年前

    我认为跑步而不做任何事和抓住一个异常并吞下它一样糟糕。

    片段有一个方法 requireContext()

    onViewCreated ,还可以从创建的视图中获取上下文。它不为null,因为视图创建需要上下文。

    如果您需要一些资源,也可以使用 getResources().getString() getContext().getString()

        2
  •  1
  •   forpas    6 年前

    由于代码位于片段中,因此必须使用:

    getActivity()
    

    获取主机活动的上下文。
    你为什么要这么做 null
    之后 onAttach() getContext()