Place Autocomplete Integration
suggest changeThe autocomplete feature in the Google Places API for Android provides place predictions to user. While user types in the search box, autocomplete shows places according to user’s queries.
AutoCompleteActivity.java
private TextView txtSelectedPlaceName; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_autocomplete); txtSelectedPlaceName = (TextView) this.findViewById(R.id.txtSelectedPlaceName); PlaceAutocompleteFragment autocompleteFragment = (PlaceAutocompleteFragment) getFragmentManager().findFragmentById(R.id.fragment_autocomplete); autocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() { @Override public void onPlaceSelected(Place place) { Log.i(LOG_TAG, "Place: " + place.getName()); txtSelectedPlaceName.setText(String.format("Selected places : %s - %s" , place.getName(), place.getAddress())); } @Override public void onError(Status status) { Log.i(LOG_TAG, "An error occurred: " + status); Toast.makeText(AutoCompleteActivity.this, "Place cannot be selected!!", Toast.LENGTH_SHORT).show(); } }); }
}
activity_autocomplete.xml
<LinearLayout xmlns:android=“http://schemas.android.com/apk/res/android”
android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent">
<fragment android:id="@+id/fragment_autocomplete" android:layout_width="match_parent" android:layout_height="wrap_content" android:name="com.google.android.gms.location.places.ui.PlaceAutocompleteFragment" />
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/txtSelectedPlaceName" android:layout_margin="20dp" android:padding="15dp" android:hint="@string/txt_select_place_hint" android:textSize="@dimen/place_autocomplete_prediction_primary_text"/>
Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents