Android EditText PostTextChanged(可编辑视图)处理程序在文本更改后未获取必要的文本值

Android EditText PostTextChanged(可编辑视图)处理程序在文本更改后未获取必要的文本值,android,android-activity,android-5.0-lollipop,Android,Android Activity,Android 5.0 Lollipop,已经在android上开发了一段时间,但这不是我遇到过的。我的视图中有一个名为adText的EditText对象,我已使用以下代码段将其成功连接到事件处理程序: final EditText adPrice = (EditText) findViewById(R.id.textFieldAd); adPrice.addTextChangedListener(new TextWatcher() { @Override public void afterTextCh

已经在android上开发了一段时间,但这不是我遇到过的。我的视图中有一个名为adText的EditText对象,我已使用以下代码段将其成功连接到事件处理程序:

final EditText adPrice = (EditText) findViewById(R.id.textFieldAd);

adPrice.addTextChangedListener(new TextWatcher() {
        @Override
        public void afterTextChanged(Editable view) {

        }

        @Override
        public void beforeTextChanged(CharSequence s, int start,
                                      int count, int after) {
        }

        @Override
        public void onTextChanged(CharSequence s, int start,
                                  int before, int count) {
        }
    });
这是我的问题:如果我在EditText字段中的字母any[a-Z][a-Z]后键入空格(“”),我将无法返回包含我键入的空格的文本视图

例如,假设我的EditText字段“723ab”中有以下文本。如果我在PostextChanged中放置断点并在文本字段中键入以下内容:“,则PostextChanged中的文本值将为“723ab”。此外,当我键入“”时,光标不会向前移动。这就像EditText字段上有某种文本过滤器(我已经查找过了,但不存在这样的过滤器)


此外,如果我有下面的EditText字段“723”,并且我键入“”,光标将向前移动,我的后文本更改侦听器将按照我的预期拾取“723”。我在这里遗漏了什么?

因此,问题的根源在于:如果在EditText中键入字母后的空格,只有在这之后,才会调用两次afterTextChanged。第一次将不包括结尾带有空格的更新字符串,但第二次将包括它。我非常好奇,是否有人知道Android为什么选择为文本更改事件实现此功能。

您能发布xml文件吗xml中有哪些内容会影响此功能?它实际上只是基本LinearLayout中的最小EditText对象。如果有更多人要求,我会发布。我不知道,但也许你遗漏了什么,因为这个代码看起来不错,我找不到问题。是的,我真的很好奇,如果我在代码中遗漏了某种过滤器,但我绝对确保没有InputFilter对象应用于此EditText字段。是否为编辑文本设置了输入类型?例如,如果是数字输入,则不允许使用空格。