【问题标题】:Making cursor unmoveable in editText在editText中使光标不可移动
【发布时间】:2017-09-21 11:15:07
【问题描述】:

我试图将光标保持在 editText 字段的末尾,这样用户就无法在中间开始输入信息。我尝试使用 onClickListener 和 onTouchListener 将选择设置为editText的长度。即使尝试了这两种方法,用户仍然可以将光标移动到文本的中间。有没有办法防止这种情况发生?

【问题讨论】:

    标签: android android-edittext


    【解决方案1】:

    您可以结合onSelectionChanged() 方法使用myEditText.setSelection(text.length()) 将光标设置在EditText 的末尾。

    取自:https://stackoverflow.com/a/12982251/1269953

    @Override
    public void onSelectionChanged(int start, int end) {
    
        CharSequence text = getText();
        if (text != null) {
            if (start != text.length() || end != text.length()) {
                setSelection(text.length(), text.length());
                return;
            }
        }
    
        super.onSelectionChanged(start, end);
    }
    

    这会将光标恢复到文本的末尾。

    【讨论】:

    • 我对如何在我的程序中实现此代码有点困惑
    • 如果您查看链接,您会发现可以覆盖onSelectionChanged,这是EditText 中可用的方法,您必须创建一个扩展EditText 的类并覆盖该方法
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-17
    • 2013-08-22
    • 1970-01-01
    • 2014-06-08
    • 2015-08-03
    • 1970-01-01
    • 2016-06-14
    相关资源
    最近更新 更多