通过代码显示软键盘

时间:2011-03-08 18:10:40

标签: java android

如何保持键盘可见,或通过显示下一个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视图:framesize和thruput。

现在,无论怎样,按下返回/完成按钮后键盘都会被隐藏。我的目标是Android 2.2,但我现在专注于仅触控设备。 谢谢, MD

1 个答案:

答案 0 :(得分:0)

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

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