1

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

选项 1(这是创建 Fragment 时 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();
    }

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

4

1 回答 1

1

在这种情况下,差异归结为使用ViewBinding或不使用。在第二个代码片段中,您可以使用带有视图对象的绑定类。首先,您必须findViewById在访问视图本身之前手动运行

于 2020-08-27T14:47:02.747 回答