Событие размытия текстового поля HTML в WebView не работает - PullRequest
0 голосов
/ 01 мая 2018

Я работаю над проектом Android, который загружает веб-страницу внутри компонента Webview. Важно отметить, что у меня нет доступа к коду сайта.

Проблема заключается в следующем.

На веб-сайте есть форма с полем ввода текста со списком предложений. Когда пользователь вводит текстовое поле, автоматически появляется окно с предложением, и пользователь может выбрать элемент из списка.

Когда пользователь нажимает на текстовое поле, курсор фокусируется на нем и появляется клавиатура Android. Когда пользователь выбирает элемент из списка предложений, текстовое поле теряет фокус и пропадает курсор на миллисекунды, но снова текстовое поле фокусируется, что означает, что курсор появляется внутри текстового поля, а ранее скрытая клавиатура появляется снова.

Вышеуказанное поведение приводит к плохому удобству использования.

Как реализовать скрытую клавиатуру после того, как пользователь выберет предложение?

Ниже приведен код для загрузки веб-представления.

private void loadSite(){
        siteWebView = (WebView) findViewById(R.id.siteWebView);
        siteWebView.loadUrl(IndexURL);
        siteWebView.setWebViewClient(new SiteWebView());

        WebSettings siteWebSettings = siteWebView.getSettings();

        siteWebSettings.setJavaScriptEnabled(true);
        siteWebSettings.setJavaScriptCanOpenWindowsAutomatically(true);

        siteWebSettings.setDomStorageEnabled(true);
        siteWebSettings.setRenderPriority(WebSettings.RenderPriority.HIGH);
        siteWebSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
        siteWebSettings.setUseWideViewPort(true);
        siteWebSettings.setSavePassword(true);
        siteWebSettings.setSaveFormData(true);
        siteWebSettings.setEnableSmoothTransition(true);
        siteWebSettings.setLoadWithOverviewMode(true);
        siteWebSettings.setUseWideViewPort(true);

        //Disabled horizontal scrolling and enabled zooming
        siteWebView.setHorizontalScrollBarEnabled(false);
        siteWebSettings.setBuiltInZoomControls(true);
        siteWebSettings.setDisplayZoomControls(false);

        siteWebView.setWebChromeClient(webChromeClient);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...