1

我正在创建一个 webview,当任何输入集中在网页中时,我需要强制使用软键盘。

我已经尝试了很多我发现的东西,但似乎没有任何效果。

我试过:1)

InputMethodManager imm = (InputMethodManager) getApplicationContext().getSystemService(Context.INPUT_METHOD_SERVICE); 
 imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);

2)

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;
    }
   });

还有一些其他的事情。

我设法让它在带有root的三星上工作,但在我的nexus 7中,我也不能使用root。

任何帮助将不胜感激。谢谢

4

1 回答 1

0

您可以检测是否存在键盘,如果没有则显示所需视图/项目的软键盘

示例代码:

if (getResources().getConfiguration().keyboard == 0)
{
     InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
     imm.showSoftInput(** view/item **, InputMethodManager.SHOW_IMPLICIT); 
}
于 2012-11-02T14:05:32.633 回答