在编辑文本中输入文本后无法隐藏软键盘

时间:2015-01-02 10:00:05

标签: android

我有一个包含5个编辑文本和3个单选按钮和两个按钮的布局。在5个编辑文本后,我有3个单选按钮,然后是2个按钮。在第五个编辑文本中输入文本后,由于软键盘,我无法看到单选按钮和普通按钮。输入第五个编辑文本后,如何禁用该软键盘?任何人都可以帮我解决这个问题...

5 个答案:

答案 0 :(得分:0)

尝试使用以下代码段隐藏/关闭软键盘

getWindow().setSoftInputMode(
     WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN
);

答案 1 :(得分:0)

public void hideKeyBord(View view) {
    if (view != null) {
        if (keyBoardHide == null) {
            keyBoardHide = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);

        }
        if (keyBoardHide != null && keyBoardHide.isActive()) {
            // to hide keyboard
            keyBoardHide.hideSoftInputFromWindow(view.getWindowToken(), 0);
        }
    }
}

答案 2 :(得分:0)

        InputMethodManager inputManager = (InputMethodManager)
                getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);

        inputManager.hideSoftInputFromWindow(getActivity().getCurrentFocus().getWindowToken(),
                InputMethodManager.HIDE_NOT_ALWAYS);
        getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

答案 3 :(得分:0)

只需使用:

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

每当你想要隐藏软键盘时。

在您的情况下: 让你的第五个EditTextet .. 然后使用:

if(!et.toString().equals(null)){
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
}



您可以检测第五个EditText是否focused是否,然后相应地采取行动(即如果EditTextfocused,则使用上述方法隐藏键盘Done)请点击以下链接:
How can I detect focused EditText in android?


在软键盘上检测DONE键事件:
按下DONE按钮时键盘会自动关闭。但是,如果您想在按下 et= (EditText) findViewById(R.id.edit_text); et.setOnEditorActionListener(new OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if (actionId == EditorInfo.IME_ACTION_DONE) { // do your stuff here InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0); } return false; } }); 按钮时执行海关操作,请参阅以下内容:

{{1}}

希望这有帮助!

答案 4 :(得分:0)

隐藏键盘不是一个大问题,但你需要确认"什么时候?" 你需要打电话

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                    imm.hideSoftInputFromWindow(edittext.getApplicationWindowToken(), 0);

用于隐藏软键盘

尝试在edittext xml文件和

中添加android:imeOptions="actionNext"
edittext.setOnEditorActionListener(new TextView.OnEditorActionListener() {
            @Override
            public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
                boolean flag= false;
                if (i == EditorInfo.IME_ACTION_NEXT) {
                    flag= true;
                    InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                    imm.hideSoftInputFromWindow(edittext.getApplicationWindowToken(), 0);
                }
                return flag;
            }
        });

此代码将在键盘上单击下一步隐藏您的软键盘