在光标前获取全文

时间:2011-06-29 07:08:52

标签: android android-input-method

我需要在InputMethod类中的光标前获取整个文本字符串。 getTextBeforeCursor()只获取“n”个字符,但我不知道文本的长度。

3 个答案:

答案 0 :(得分:1)

documentation。看来你可以这样做:

getCurrentInputConnection().getTextBeforeCursor(100, 0);

或其他一些大数字,因为它只接受来自输入的文本 - 而不是所有'n'字符。

答案 1 :(得分:1)

尝试一下。这应该可行。

//get the input connection first
InputConnection iconn = getCurrentInputConnection();
//get the total text first.
String full_text=iconn.getExtractedText(new ExtractedTextRequest(),0).text.toString();
//get whole text before the cursor
String before_text=iconn.getTextBeforeCursor(full_text.length(),0).toString();

答案 2 :(得分:0)

如上所述,您可以使用大数字的getTextBeforeCursor()。如果它返回相同长度的字符串,您可以尝试获得更大的字符串。但要小心,一些应用程序,如三星的电子邮件应用程序返回全长字符串!即使你输入1个字符。