2011-03-08 123 views
0

如何保持键盘可见,或通过显示下一个EditText视图的键盘。如果输入无效,我想保持键盘可见。或者,在有效输入的情况下,请求对下一个EditText进行焦点后显示小键盘。通过代码显示软键盘

我的验证:

private boolean processTextField(EditText str) { 

     Log.v("Exfo. Processing: ", str.getText().toString()); 

     boolean notZero = ((str.getText().toString().length() > 0) && (this.notZero(str.getText().toString()))); // checks id value is zero 

     if (notZero) { 
      if (this.frameSizeLength() == 0) { 
       txtFrameSize.requestFocus(); 
       // TO DO: display keyboard 
      } 
      else if (this.thruPutLength() == 0) { 
       txtThruPut.requestFocus(); 
       // TO DO: display keyboard 
      } 
      else 
        this.calcResults(Integer.valueOf(txtFrameSize.getText().toString()), Float.valueOf(txtThruPut.getText().toString())); 
      } 
      else { 
       this.showMSG("Enter a value greater than zero."); 
       // TO DO: keep focus on current EditTExt, display keypad 
      } 
    } 
} 

编辑:只有2 EditText上的观点:框架尺寸和吞吐。

现在,无论如何,按下返回/完成按钮后,键盘将被隐藏。我的目标是Android 2.2,但我现在只专注于触摸设备。 谢谢, MD

回答

0

您可以使用它来强制它在指定的视图上打开。

InputMethodManager imm = (InputMethodManager) getSystemService(
    Context.INPUT_METHOD_SERVICE); 
imm.showSoftInput(editText, InputMethodManager.SHOW_FORCED); 
+0

不确定是否实施此权利。作为一项测试,我将其置于验证块中,但没有任何反应。尝试阅读文档,但没有帮助,只是说会显示输入法。除了指定EditText的输入之外,应用程序设置中是否还有某些应该标记的内容? – 2011-03-08 19:57:50

+0

已解决。必须在警报的事件监听器中添加一行。 @RobbyPond,感谢您设置在正确的轨道上。 – 2011-03-08 20:29:43