繁体   English   中英

EditText聚焦时隐藏键盘

[英]Keyboard hidden when EditText focused

我在一个Activity中有两个片段,两个片段都包含一个EditText。 当第一个EditText聚焦(显示键盘)并且用户按下键盘的下一个按钮时,我将使用以下代码将焦点转移到第二个片段中的EditText:

View next = autoCompleteTextView.focusSearch(View.FOCUS_DOWN);
    if (next != null) {
        next.requestFocus();
    }

第二个EditText按原样接收焦点(光标开始闪烁),但显示的键盘被隐藏。 我不明白为什么会这样。 我尝试了百万种不同的解决方案,强制键盘再次显示,但没有任何效果。 我不知道为什么它首先被隐藏起来,我只是转移焦点。

唯一对我有用的是:

 mComposeMsgBody.setOnFocusChangeListener(new View.OnFocusChangeListener() {
        @Override
        public void onFocusChange(View v, boolean hasFocus) {
            if (hasFocus && mComposeMsgBody.isEnabled()) {

                mComposeMsgBody.post(new Runnable() {
                    @Override
                    public void run() {
                        final InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
                        imm.showSoftInput(mComposeMsgBody, InputMethodManager.SHOW_IMPLICIT);
                    }
                });
            }
        }
    });

但这不是理想的,因为键盘会试图隐藏起来,然后我强迫它向上移动,所以键盘会进行这1秒钟的向下移动。 如果有人有一个更好的解决方案,只需转移焦点而不用键盘做任何事情,请发一个答案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM