如何获取“EditText”中输入的最后一个字符?

qwa*_*zix 3 android

我想知道用户何时键入空格字符,以便我知道更新撤消列表。

使用onKeyListener在虚拟键盘上不起作用(并且从概念上讲是错误的方法,我不关心用户如何输入该空间,他可能已经粘贴了它)

TextWatcher只提供全文,获取字符串的最后一个字符没有帮助。用户也可以在中间输入。如何插入最后一个字符?

sla*_*ars 7

试试这个:它应该会为你处理好。您可能需要添加更多的错误检查。

edittext.addTextChangedListener(new TextWatcher() {
    @Override
    public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

    }

    @Override
    public void onTextChanged(final CharSequence s, int start, int before, int count) {
        //Char at newly inserted pos.
        char currentChar = s.charAt(start + before);  
    }

    @Override
    public void afterTextChanged(Editable editable) {

    }
});
Run Code Online (Sandbox Code Playgroud)