保持android sof键盘显示

时间:2015-05-22 02:09:06

标签: android android-softkeyboard

我添加了#34; Go"软键盘上的按钮,任何时候我按下键盘都是隐藏的。如何保持它?使用此代码显示它不起作用。感谢

@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
    if(actionId== EditorInfo.IME_ACTION_GO){
        InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
    }

    return false;
}

2 个答案:

答案 0 :(得分:2)

我已经为你编辑了答案,如果你错过了setSingleLine(true),整个东西都行不通。我想你已经添加了,但你可能没有尝试过这个兄弟:

    et1.setHint("testing");
    et1.setImeActionLabel("Go", EditorInfo.IME_ACTION_GO);
    et1.setSingleLine(true);


    et1.setOnEditorActionListener(new OnEditorActionListener() {

        @Override
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {

            if(actionId== EditorInfo.IME_ACTION_GO){


                InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                imm.showSoftInput(et1, InputMethodManager.SHOW_FORCED);
                return true;
            }

            else
                return false;
        }
    } );

答案 1 :(得分:1)

如果您希望键盘显示在活动开头,您可以在活动标记内的AndroidManifest.xml中添加以下行:

android:windowSoftInputMode="stateVisible"

要解决“GO”按钮问题,您可以使用以下代码:

InputMethodManager imm = (InputMethodManager)getSystemService(
                          Context.INPUT_METHOD_SERVICE);
//imm.hideSoftInputFromWindow(editText.getWindowToken(), 0); //to hide
imm.showSoftInput(editText, InputMethodManager.SHOW_FORCED); //to show

您可以在适合您的任务的任何事件中使用此功能,例如TextWatcher's onTextChanged,编辑听众。