我需要从textbox
获取输入的单词以供进一步使用。
所以我正在使用TextWatcher
并在onTextChanged
事件中获取edittext
框内容。它提供了文本框的完整内容。
但我需要输入的单词而不是textbox
的完整内容。
一旦用户按下spacebar
,我需要字符串变量中的最后一个输入的单词。
我的代码在这里,temptype包含完整的内容。
tt = new TextWatcher() {
public void afterTextChanged(Editable s){
et.setSelection(s.length());
}
public void beforeTextChanged(CharSequence s,int start,int count, int after){}
public void onTextChanged(CharSequence s, int start, int before, int count) {
et.removeTextChangedListener(tt);
typed = typed + et.getText().toString();
String temptype;
temptype = et.getText().toString();
if (temptype == " "){
showToast("Word: "+typed);
}
et.addTextChangedListener(tt);
}
};
et.addTextChangedListener(tt);
答案 0 :(得分:1)
int selectionEnd = et.getSelectionEnd();
String text = et.getText().toString();
if (selectionEnd >= 0) {
// gives you the substring from start to the current cursor
// position
text = text.substring(0, selectionEnd);
}
String delimiter = " ";
int lastDelimiterPosition = text.lastIndexOf(delimiter);
String lastWord = lastDelimiterPosition == -1 ? text :
text.substring(lastDelimiterPosition + delimiter.length());
// do whatever you need with the lastWord variable