Я новичок в android, и я пытаюсь создать приложение, которое спрашивает, спрашивают его начальное местоположение и местоположение назначения. (например, карта Google)
Проблема заключается в том, что я создаю его во фрагмент, и как только я нажимаю на строку поиска, мое приложение cra sh "К сожалению, приложение остановилось" с этой ошибкой:
java .lang.NullPointerException: попытка вызвать виртуальный метод 'void com.google. android .libraries.places.widget.AutocompleteSupportFragment.setPlaceFields (java .util.List) 'на нулевой ссылке на объект
Вот мой код во фрагмент "SearchFragment"
String apikey = "vvfvsvsddsvsvdsvdsvsdDummyApiKey";
if (!Places.isInitialized()){
Places.initialize(this.getActivity().getApplicationContext(), apikey);
}
placesClient = Places.createClient(this.getActivity());
try {
// From Fragment
final AutocompleteSupportFragment autocompleteSupportFragment = (AutocompleteSupportFragment)
getActivity().getSupportFragmentManager().findFragmentById(R.id.autocomplete_fragment);
autocompleteSupportFragment.setPlaceFields(Arrays.asList(Place.Field.ID, Place.Field.LAT_LNG,
Place.Field.NAME));
autocompleteSupportFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() {
@Override
public void onPlaceSelected(@NonNull Place place) {
final LatLng latLng = place.getLatLng();
Log.i("PlacesApi", "onPlaceSelected:" + latLng.latitude + "\n" + latLng.longitude);
}
@Override
public void onError(@NonNull Status status) {
}
});
// To Fragment
final AutocompleteSupportFragment autocompleteSupportFragmentTo =
(AutocompleteSupportFragment)
getActivity().getSupportFragmentManager().findFragmentById(R.id.autocomplete_fragmentTo);
assert autocompleteSupportFragmentTo != null;
autocompleteSupportFragmentTo.setPlaceFields(Arrays.asList(Place.Field.ID,
Place.Field.LAT_LNG, Place.Field.NAME));
autocompleteSupportFragmentTo.setOnPlaceSelectedListener(new PlaceSelectionListener() {
@Override
public void onPlaceSelected(@NonNull Place place) {
final LatLng latLng = place.getLatLng();
assert latLng != null;
Log.i("PlacesApi", "onPlaceSelected:" + latLng.latitude + "\n" + latLng.longitude);
}
@Override
public void onError(@NonNull Status status) {
}
});
}catch (Exception e){
System.out.println("Error into the GooglePlaces Secction");
}