按下输入文本框时,Android键盘不显示

时间:2011-01-09 15:54:22

标签: android iframe keyboard webkit textinput

我正在尝试在我的网页中使用搜索框实现iframe。

问题是我有来自一个域的网页,请说这个页面是http:///myPage.html 我在它的html中有一个iframe元素,它引用了另一个域上的另一个html。假设元素就像/iframe_content.html">

在http:///iframe_content.html页面中,我有一个输入文本框,我想用作搜索框。

问题是当我使用Android 2.2浏览原始网页时,我看到iframe嵌入了我的html,当我按下输入文本框时,我看不到Android浏览器应提供的虚拟键盘为了在其中插入一些文字。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

创建一个类并使用webview

进行扩展
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);
        }
    }

现在,当您点击任何文本字段时,它将显示键盘。第一次它可能会在页面加载时显示键盘而没有任何用户交互。