4

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

4

3 回答 3

2

请参阅本文档。看来你可以这样做:

getCurrentInputConnection().getTextBeforeCursor(100, 0);

或其他一些较大的数字,因为它只从输入中获取文本 - 而不是所有的“n”字符。

于 2011-11-28T18:28:20.907 回答
2

试试这个。这应该可以。

//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();
于 2018-07-08T16:39:50.450 回答
0

如上所述,您可以使用大量的 getTextBeforeCursor() 。如果它返回相同长度的字符串,您可以尝试获得更大的字符串。但请注意,某些应用程序,例如三星的电子邮件应用程序会返回整个长度的字符串!即使您键入 1 个字符。

于 2014-02-05T14:11:26.083 回答