Android 片段中如何渗透布局的差异

Differences in how to infiltrate a layout in an Android fragment

我刚开始在 Android 和 ViewBinding 中使用片段,我有一个问题。基本上,我发现有(至少)两种方法可以在 Fragment 的 onCreateView() 方法中渗透布局。以下是两个选项:

选项 1(这是创建片段时 Android Studio 的默认选项):

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    return inflater.inflate(R.layout.fragment_menu, container, false);
}

选项 2(使用 ViewBinding):

  private FragmentMenuBinding binding;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        binding = FragmentMenuBinding.inflate(inflater, container, false);
        return binding.getRoot();
    }

我想知道这两种方法之间是否存在实质性差异。在任何情况下,您更喜欢其中之一吗?我会感谢每一条评论,非常感谢你的帮助。

区别归结为在这种情况下是否使用 ViewBinding。在第二个片段中,您有绑定 class 和可供您使用的视图对象。首先,在访问视图本身之前,您必须手动 运行 findViewById