如何将 setContentView(View view) 方法移动到片段

How to move the setContentView(View view) method to a fragment

我正在使用设计用于活动的库 (VTM),并且需要 setContentView 方法将视图传递给它,如下所示:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    MapView mapView = new MapView(this);
    setContentView(mapView); 
}

我想将 class 移动到片段中。 MapView 构造函数在库中进行了一些初始化,然后需要在 setContentView 方法中进行设置,因此我无法使用 xml 布局的 id 来扩充布局(这是 LayoutInflator 所需要的。我想要做这样的事情:

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    return inflater.inflate(new MapView(requireContext()), container, false);
}

但是 inflate 方法需要布局的 id xml。我怎样才能给 mapView 充气?

通常,onCreateView() 需要 return 一个 View 实例。因此,您可以 return 您的 MapView 实例本身。希望有用。

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    return new MapView(requireContext());
}