由于Android getFragmentManager()API已被弃用,有什么替代方案吗?

2022-08-31 12:53:27

FragmentManager已弃用。有没有替代方案,或者我现在可以做什么?

 PlaceAutocompleteFragment autocompleteFragment = (PlaceAutocompleteFragment) getFragmentManager().findFragmentById(R.id.place_autocomplete_fragment);
        autocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() {
            @Override
            public void onPlaceSelected(Place place) {
                // TODO: Get info about the selected place.
                destination = place.getName().toString();
                destinationLatLng = place.getLatLng();
            }
            @Override
            public void onError(Status status) {
                // TODO: Handle the error.
            }
        });

deprecation strike image


答案 1

此方法在 API 级别 28 中已弃用。

FragmentActivity.getSupportFragmentManager()


答案 2

如果我理解你很好,现在被弃用了getFragmentManager()

我们将使用 Return 一个私有 FragmentManager 来放置和管理此片段中的片段。getChildFragmentManager()

我们将使用 Return the FragmentManager 与与此片段的活动关联的片段进行交互。getParentFragmentManager()

因此,如果您处理片段内的片段,您将使用第一个片段,如果您处理活动内的片段,您将使用第二个片段。

你可以在这里找到它们package androidx.fragment.app;


推荐