【问题标题】:Cursor is not visible onclicking Action Done keyboard光标在单击 Action Done 键盘时不可见
【发布时间】:2018-06-04 23:06:13
【问题描述】:

我正在处理动态编辑文本,在这里我遇到了一个问题,即在软键盘中单击 Action DONE 后,光标在编辑文本字段中不可见。

在此代码中,我在键盘上单击 Action Done 后将光标可见性设为 false,如果返回第一个编辑文本字段并来到最终编辑文本字段,则光标未显示。建议我一些想法如何在点击键盘上的Action Done后将光标指向编辑文本字段?

  eView.setOnEditorActionListener(new TextView.OnEditorActionListener() {
                    @Override
                    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {

                        if (actionId == EditorInfo.IME_ACTION_DONE) {
                            //Clear focus here from edittext
                            eView.setFocusableInTouchMode(true);
                            eView.setCursorVisible(false);

                        }
                        return false;
                    }
                });

【问题讨论】:

    标签: android android-edittext android-cursor


    【解决方案1】:

    只需在actionDone 上调用clearFocus(),它将从当前视图中清除焦点,无需setCursorVisible(false)。

    eView.setOnEditorActionListener(new TextView.OnEditorActionListener() {
            @Override
            public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
                if (actionId == EditorInfo.IME_ACTION_DONE) {
                    eView.clearFocus();
    
                }
                return false;
            }
        });
    

    【讨论】:

    • 如果我给 clearfocus() 它将转到其他字段,光标在上面闪烁..
    • 是的,这就是默认行为。你有什么需求?
    • 感谢您的关注@ADM 我只想在点击字段时启用光标
    • 您可以将初始焦点设置在其他视图上。使用属性nextFocusDown 进行下一个焦点。
    猜你喜欢
    • 2012-10-29
    • 2015-02-23
    • 2014-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多