1

我正在尝试将新的 Auto Complete Place Picker 迁移"com.google.android.gms:play-services"到新的"com.google.android.libraries.places:places-compat:2.0.0"并已实施SupportPlaceAutocompleteFragment

一切正常,但我得到的错误是:

"Place.Field" Cannot resolve symbol 'Field'

下面是我的代码:

 // Initialize the AutocompleteSupportFragment.
 SupportPlaceAutocompleteFragment supportPlaceAutocompleteFragment = (SupportPlaceAutocompleteFragment)getSupportFragmentManager().findFragmentById(R.id.autocomplete_fragment);


//List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.NAME);
// Specify the types of place data to return.
supportPlaceAutocompleteFragment.setPlaceFields(Arrays.asList(Place.Field.ID, Place.Field.NAME));

// Set up a PlaceSelectionListener to handle the response.
supportPlaceAutocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() {
    @Override
    public void onPlaceSelected(Place place) {
        // TODO: Get info about the selected place.
        Toast.makeText(MapsActivity.this, "Place: " + place.getName() + ", " + place.getId(), Toast.LENGTH_LONG).show();
        Log.i("", "Place: " + place.getName() + ", " + place.getId());
    }

    @Override
    public void onError(Status status) {
    }
});

supportPlaceAutocompleteFragment.setPlaceFields(Arrays.asList(Place.Field.ID, Place.Field.NAME));

你能帮我解决这个错误吗:

"Place.Field" Cannot resolve symbol 'Field'

4

2 回答 2

3

确保导入正确的 Place 类。

import com.google.android.libraries.places.api.model.Place;

希望这可以帮助。

于 2019-11-06T12:15:01.233 回答
0

SupportPlaceAutocompleteFragment 类已弃用。请改用 AutocompleteSupportFragment 类。请参阅Google 的迁移指南Place Autocomplete 的指南

// Initialize the AutocompleteSupportFragment.
AutocompleteSupportFragment supportPlaceAutocompleteFragment = (AutocompleteSupportFragment) getSupportFragmentManager().findFragmentById(R.id.autocomplete_fragment);

//List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.NAME);
// Specify the types of place data to return.
supportPlaceAutocompleteFragment.setPlaceFields(Arrays.asList(Place.Field.ID, Place.Field.NAME));

// Set up a PlaceSelectionListener to handle the response.
supportPlaceAutocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() {
    @Override
    public void onPlaceSelected(Place place) {
        Toast.makeText(MapsActivity.this, "Place: " + place.getName() + ", " + place.getId(), Toast.LENGTH_LONG).show();
        Log.i("", "Place: " + place.getName() + ", " + place.getId());
    }

    @Override
    public void onError(Status status) {
    }
});

supportPlaceAutocompleteFragment.setPlaceFields(Arrays.asList(Place.Field.ID, Place.Field.NAME));

希望这可以帮助!

于 2019-08-05T19:06:40.540 回答