Клавиатура Android не отображается при нажатии поля ввода - PullRequest
0 голосов
/ 09 января 2011

Я пытаюсь внедрить iframe с окном поиска на своей веб-странице.

Дело в том, что у меня есть веб-страница из одного домена, пусть эта страница http: /// myPage.html и у меня есть в html элемент iframe, который ссылается на другой html в другом домене.скажем, элемент выглядит так /iframe_content.html">

и на странице http: ///iframe_content.html у меня есть текстовое поле ввода, которое я хочу использовать в качестве поля поиска.

Проблема в том, что когда я захожу с Android 2.2 на исходную веб-страницу, я вижу встроенный фрейм в свой HTML, и когда я нажимаю текстовое поле ввода, я не вижу виртуальную клавиатуру, которую должен предоставить браузер Androidчтобы вставить в него какой-нибудь текст.

Может кто-нибудь помочь?

1 Ответ

0 голосов
/ 01 июня 2011

Создать класс и расширить его с помощью веб-просмотра

private class MwebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) {
        super.onPageStarted(view, url, favicon);
        waitDialog = new ProgressDialog(context);
        waitDialog.setMessage("Loading Page...");
        waitDialog.setIndeterminate(true);
        waitDialog.show();
    }

    @Override
    public void onPageFinished(WebView view, String url) {
        super.onPageFinished(view, url);
        if (waitDialog != null) {
            waitDialog.dismiss();
        }
    }

    @Override
    public void onScaleChanged(WebView view, float oldScale, float newScale) {
        super.onScaleChanged(view, oldScale, newScale);

// принудительно показывать клавиатуру, и тогда она будет показывать клавиатуру при любом нажатии клавиши текстового поля

InputMethodManager inputMgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
            inputMgr.toggleSoftInput(InputMethodManager.RESULT_UNCHANGED_SHOWN, InputMethodManager.RESULT_UNCHANGED_SHOWN);
        }
    }

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

...