клавиатура не прячется при нажатии стрелки назад при автозаполнении (GooglePlacesPicker) - PullRequest
0 голосов
/ 12 февраля 2020

enter image description here

List<Place.Field> fields = Arrays.asList(Place.Field.ID, Place.Field.LAT_LNG, Place.Field.ADDRESS, Place.Field.NAME);
    // Start the autocomplete intent.
    Intent intent = null;

    if (initialQuery != null && !initialQuery.isEmpty()) {
        intent = new Autocomplete.IntentBuilder(
                AutocompleteActivityMode.FULLSCREEN, fields).
                setInitialQuery(initialQuery).
                setTypeFilter(TypeFilter.CITIES).
                build(activity);
    } else {
        intent = new Autocomplete.IntentBuilder(
                AutocompleteActivityMode.FULLSCREEN, fields).
                setTypeFilter(TypeFilter.CITIES).
                build(activity);
    }

    activity.startActivityForResult(intent, GOOGLE_PLACES_PICKER_REQUEST_CODE);

Приведенный выше код открывает GooglePlacesPicker, где мы можем искать место. Нажатие стрелки назад должно закрыть клавиатуру. но это не так.

Я пытался описанным ниже способом закрыть клавиатуру

   public static void hide(Context context) {
    try {
        if (context != null) {
            InputMethodManager imm = (InputMethodManager) context
                    .getSystemService(Activity.INPUT_METHOD_SERVICE);
            if (((Activity) context).getCurrentFocus() != null) {
                View currentFocus = ((Activity) context).getCurrentFocus();
                if (currentFocus.getWindowToken() != null) {
                    imm.hideSoftInputFromWindow(currentFocus.getWindowToken(), InputMethodManager.SHOW_FORCED);
                }
            }
        }
    } catch (Exception ex) {
        ex.printStackTrace();
    }
}

, но не сработал. любезно помогите

1 Ответ

1 голос
/ 12 февраля 2020

установить кнопку отклонения клавиатуры, как это

hideButton.setOnClickListener(new View.OnClickListener() {

                    @Override
                    public void onClick(View view) {

                        InputMethodManager in = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                        in.hideSoftInputFromWindow(getCurrentFocus().getApplicationWindowToken(), 0);
                    }
    });
...