Android 找不到PlaceAutocompleteFragment

Android 找不到PlaceAutocompleteFragment,android,Android,我在活动中使用了PlaceAutocompleteFragment,它很有效。然后我想把这段代码移到我的片段中,它停止了工作 在MainActivity中执行我的片段: FragmentManager fragmentManager = getFragmentManager(); fragmentManager.beginTransaction().replace(R.id.container, fragment).commit(); public class ForecastFragment

我在活动中使用了PlaceAutocompleteFragment,它很有效。然后我想把这段代码移到我的片段中,它停止了工作

在MainActivity中执行我的片段:

FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction().replace(R.id.container, fragment).commit();
public class ForecastFragment extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.fragment_forecast, container, false);

        autocompleteFragment = (PlaceAutocompleteFragment)
                getFragmentManager().findFragmentById(R.id.place_autocomplete_fragment);
        AutocompleteFilter typeFilter = new AutocompleteFilter.Builder()
                .setTypeFilter(AutocompleteFilter.TYPE_FILTER_CITIES)
                .build();

        autocompleteFragment.setFilter(typeFilter); //here I have NullPointerException
        //...

        return v;
    }
}
预测片段:

FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction().replace(R.id.container, fragment).commit();
public class ForecastFragment extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.fragment_forecast, container, false);

        autocompleteFragment = (PlaceAutocompleteFragment)
                getFragmentManager().findFragmentById(R.id.place_autocomplete_fragment);
        AutocompleteFilter typeFilter = new AutocompleteFilter.Builder()
                .setTypeFilter(AutocompleteFilter.TYPE_FILTER_CITIES)
                .build();

        autocompleteFragment.setFilter(typeFilter); //here I have NullPointerException
        //...

        return v;
    }
}
我在autocompleteFragment.setFilter(typeFilter)上有NullPointerException

fragment\u forecast.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    >
    <fragment
        android:id="@+id/place_autocomplete_fragment"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
         android:name="com.google.android.gms.location.places.ui.PlaceAutocompleteFragment" android:layout_weight="1"/>
</LinearLayout>


我还没有彻底研究过你的代码,但是试着使用
childFragmentManager
,比如
getChildFragmentManager().findffragmentbyid(R.id.place\u autocomplete\u fragment)@LieForBananas,它帮助了我!没问题,快乐编码!