【发布时间】:2015-02-24 12:37:19
【问题描述】:
我的任务是尽可能接近实时地检测我的应用程序的 TextView 中的文本更改。然而,对于像 SwiftKey 这样的 Swype 风格的虚拟键盘,整个单词会立即出现。有没有办法至少检测到用户正在使用虚拟键盘执行某些操作,例如在其上移动手指?
【问题讨论】:
-
您想检查 TextView 或 EditText 中的文本是否发生变化?
我的任务是尽可能接近实时地检测我的应用程序的 TextView 中的文本更改。然而,对于像 SwiftKey 这样的 Swype 风格的虚拟键盘,整个单词会立即出现。有没有办法至少检测到用户正在使用虚拟键盘执行某些操作,例如在其上移动手指?
【问题讨论】:
使用文本观察器。您将能够看到每一个变化。这适用于 EditText 和 TextView(即使我从未尝试过使用 TextView)
@Override
public void afterTextChanged(Editable s){
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after){
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count){
}
你只需要添加它:
TextView.addTextChangedListener(TextWatcher)
【讨论】: