我正在研究MultiAutoCompleteTextView mactv
。我的目的是在打字过程中阅读mactv
中添加的每个单词,并用该单词做一些事情。为此,我在mactv
中输入空格时使用TextWatcher读取最后一个单词。其逻辑在afterTextChanged()
方法中实现。但它不能正常工作。因此,我想在mactv
中输入文本时调试应用,但在第一次调用afterTextChanged()
方法后应用程序崩溃了。
我已经在mainActivity的setContentView()
方法之前设置了断点并显示了Activity。
那么,有没有办法调试这个TextWatcher或通过其他方式实现这个目的?
注意:我创建了一个自定义标记生成器,在自动完成列表中单击项目时只放置空格。 并且app在正常运行期间不会崩溃。
mactv.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
String text = mactv.getText().toString();
int lastIndex = text.length()-1;
int i;
if(text.length()>0 && text.charAt(lastIndex) == ' '){
i = lastIndex;
while(i>0 && text.charAt(i)!=' ')
i--;
String word = text.subSequence(i, text.length()).toString();
addTagInContainer(word);
}
}
});