Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在TextWatcher.afterTextChanged()中获取更改范围_Java_Android_Android Edittext_Textwatcher - Fatal编程技术网

Java 如何在TextWatcher.afterTextChanged()中获取更改范围

Java 如何在TextWatcher.afterTextChanged()中获取更改范围,java,android,android-edittext,textwatcher,Java,Android,Android Edittext,Textwatcher,在这方面,它说: 您可以在onTextChanged(CharSequence,int,int,int)中使用setSpan(Object,int,int,int)来标记您的位置,然后从这里查找span结束的位置 但我实际上如何实现这一点呢?这是如何做到的: this.addTextChangedListener(new TextWatcher() { Object markup = new Object(); public void beforeText

在这方面,它说:

您可以在onTextChanged(CharSequence,int,int,int)中使用setSpan(Object,int,int,int)来标记您的位置,然后从这里查找span结束的位置

但我实际上如何实现这一点呢?

这是如何做到的:

    this.addTextChangedListener(new TextWatcher() {
        Object markup = new Object();
        public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
        }

        public void onTextChanged(CharSequence s, int start, int before, int count) {
            EditText.this.getEditableText().setSpan(markup, start, start + count, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        }

        public void afterTextChanged(Editable editable) {
            Log.v("TAG", "" + editable.getSpanStart(markup) + " " + editable.getSpanEnd(markup));
        }
    });