在Android中的字符串变量中获取最后输入的单词

时间:2014-10-09 07:03:02

标签: java android textwatcher

我需要从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);

1 个答案:

答案 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