2014-02-11 173 views
1

我已经试过了。它可以与三星平板电脑正常工作。键盘在webview中隐藏/显示

在页面1_4.html我必须隐藏键盘和2.html我必须显示 键盘。

两个文本框上点击里面的WebView

注:Android的活动是一样的。

,我号召webView.setOnTouchListener

 if (value.equals("1") || value.equals("4")) { 

      getWindow().setFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM); 
      getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 

     } else if(value.equals("2")) { 
      getWindow().clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM); 
     } 

这个代码但它不是在任何移动电话工作。它给了我警告

W/InputMethodManager(25060):startInputInner:InputBindResult == NULL

我有google一下。但没有找到有用的东西。

现在该怎么办?任何帮助将不胜感激。

回答

0

试试这个代码:这是在所有设备上工作。

try 
{ 
    if(isopen) 
    {  
     // to hide keyboard 
     InputMethodManager inputMethodManager = (InputMethodManager)context.getSystemService(Activity.INPUT_METHOD_SERVICE); 
     inputMethodManager.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), 0); 
    }else{ 
     // to open keyboard 
     InputMethodManager inputMethodManager=(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
     inputMethodManager.toggleSoftInputFromWindow(linearLayout.getApplicationWindowToken(), InputMethodManager.SHOW_FORCED, 0); 
    } 
    } 
    catch (NullPointerException e) 
    { 
    } 
    catch (Exception e) 
    { 
    } 
+0

有关显示键盘呢?我编辑了我的问题。请看看它。 –

+0

你想强行打开键盘吗? –

+0

无论如何,我只是希望**显示** **键盘**在页面** 2.html **和**其他**我想**隐藏**它。 –

1

要打开键盘试试这个

webview.postDelayed(new Runnable() { 
      @Override 
      public void run() { 
       InputMethodManager keyboard = (InputMethodManager) 
       MainActivity.this.getSystemService(Context.INPUT_METHOD_SERVICE); 
       keyboard.showSoftInput(webview, 0); 
      } 
},100); 

要关闭键盘试试这个

InputMethodManager inputMethodManager = (InputMethodManager)MainActivity.this.getSystemService(Activity.INPUT_METHOD_SERVICE); 
inputMethodManager.hideSoftInputFromWindow(MainActivity.this.getCurrentFocus().getWindowToken(), 0); 
+0

它应该在任何文本框内点击webview!它会起作用吗? –

+0

postDelayed是关键。谢谢! – Alessandro