Android键盘未显示在webview上';s文本框onfocus

Android键盘未显示在webview上';s文本框onfocus,android,android-webview,android-keypad,Android,Android Webview,Android Keypad,在我的应用程序中,android键盘不会显示在webview的文本框onfocus中。这有什么限制吗?。我在webview touchlistener中尝试了webview.requestFocus()方法。但文本框始终是焦点,键盘根本不显示 @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub switch (event.getActio

在我的应用程序中,android键盘不会显示在webview的文本框onfocus中。这有什么限制吗?。我在webview touchlistener中尝试了webview.requestFocus()方法。但文本框始终是焦点,键盘根本不显示

 @Override
public boolean onTouch(View v, MotionEvent event) {
    // TODO Auto-generated method stub
    switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN:
    case MotionEvent.ACTION_UP:
        if (!v.hasFocus()) {
            v.requestFocus();
        }
        break;
}
return false;
}

我已经在oncreate方法中将这个监听器设置为webview.setOnTouchListener(this)


如何解决这个问题?

我在onCreate中实现了这样的功能,似乎可以解决这个问题。 它基本上与您拥有的代码相同,但是使用了
\u webView.requestFocus(View.FOCUS\u DOWN)在设置onTouchListener之前添加的调用

    _webView.requestFocus(View.FOCUS_DOWN);
    _webView.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            switch (event.getAction()) {
                case MotionEvent.ACTION_DOWN:
                case MotionEvent.ACTION_UP:
                    if (!v.hasFocus()) {
                        v.requestFocus();
                    }
                    break;
            }
            return false;
        }
    });

试试这个打开键盘

InputMethodManager inputMethodManager = (InputMethodManager) cntx
                .getSystemService(cntx.INPUT_METHOD_SERVICE);
        inputMethodManager.toggleSoftInputFromWindow(
                view.getApplicationWindowToken(),
                InputMethodManager.SHOW_FORCED, 0);
        view.requestFocus();

你是在emulator中使用还是在phone中使用我使用的手机是Android 2.2、4.0.4和4.1.2.webView.requestFocus(View.FOCUS\u DOWN);试试这个我已经试过这个方法了,文本框在onfucus中,但是键盘没有显示出来。如果我再次点击文本框,键盘就会显示出来。可以肯定的是,你测试的所有android版本都会出现这种情况,对吗?(包括ICS及以上)