Skip to content

不一定显示光标 #4

@laole918

Description

@laole918

新人一枚请多指教,谷歌搜索到您的项目,发现解决了我的问题,就无耻的盗用了。
但在使用过程中发现通过您的5步虽然可以解决焦点混乱的问题,但是在EditText的Text内容为空时
当前获取到焦点的EditText不一定能显示光标。于是进行了以下修改,光标闪烁正常了,您看是否合理。

        ……
        //第2步修改
        if (line.isFocus()) {
            if (!holder.etLine.isFocused()) {
                holder.etLine.requestFocus();
            }
            CharSequence text = line.getText();
            holder.etLine.setSelection(TextUtils.isEmpty(text) ? 0 : text.length());
            // 使光标闪烁
            holder.etLine.setCursorVisible(true);
        } else {
            if (holder.etLine.isFocused()) {
                holder.etLine.clearFocus();
            }
            holder.etLine.setCursorVisible(false);
        }
       ……
        //第5步后添加
        holder.etLine.setOnFocusChangeListener(new View.OnFocusChangeListener() {
            @Override
            public void onFocusChange(View v, boolean hasFocus) {
                if(hasFocus) {
                    holder.etLine.setCursorVisible(true);
                } else {
                    holder.etLine.setCursorVisible(false);
                }
            }
        });

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions