3

Я использую API Google Places API for Android - PlaceAutocompleteFragment в своем проекте для поиска местоположений, когда пользователь выбирает местоположение, а затем получает записи с использованием местоположения lat-long и отображает его в ListView.

Теперь проблема в том, когда пользователь нажимает на кнопку clear button (X) из PlaceAutocompleteFragment Я хочу, чтобы убрать ListView элементы, для которых мне нужно прослушать кнопку очистки onClick? Как это сделать?

enter image description here
Любая помощь будет оценена по достоинству.API Google Places API - PlaceAutocompleteFragment clear button listener

autocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() { 
    @Override 
    public void onPlaceSelected(Place place) { 
     LatLng latLng=place.getLatLng(); 
     //hit web service, response parsing and add it to listview. 
    } 

    @Override 
    public void onError(Status status) { 
     Log.i(TAG, "An error occurred: " + status); 
    } 
}); 
+0

попробуйте удалить этот элемент из arraylist, который вы устанавливаете на адаптер, а затем вызываете notifyDataSetChanged(). Для более Пожалуйста, отправьте код –

+0

@JagjitSingh Я знаю, как очистить элементы списка. Прежде чем мне нужно будет прослушать нажатие кнопки «Завершить», нажмите «PlaceAutocompleteFragment ...». Я не нашел никакого метода для этого api. – Bharatesh

+0

Опубликовать весь код для этого. –

ответ

11

Глядя на исходный код PlaceAutocompleteFragment я нашел эти идентификаторы просмотра и настроить onClickListener так:

autocompleteFragment.getView().findViewById(R.id.place_autocomplete_clear_button) 
    .setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      // example : way to access view from PlaceAutoCompleteFragment 
      // ((EditText) autocompleteFragment.getView() 
      // .findViewById(R.id.place_autocomplete_search_input)).setText(""); 
      autocompleteFragment.setText(""); 
      view.setVisibility(View.GONE); 
     } 
}); 

Happy_Coding;

+0

Привет, можем ли мы получить доступ к edittext поиска, который используется в PlaceAutocompleteFragment, если мы его назовем с помощью IntentBuilder –

+1

@NancyY с помощью этого 'id' вы можете получить searchview edittext' R.id.place_autocomplete_search_input' – Bharatesh

+0

Почему бы вам просто не автозаполнятьFragment.setText (""); – dvdciri