获取光标之前的整个文本

发布于 2024-11-18 03:49:08 字数 87 浏览 2 评论 0原文

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

I need get whole text string before the cursor in my InputMethod class. getTextBeforeCursor() gets only "n" characters, but I don't know text's length.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

暗恋未遂 2024-11-25 03:49:08

请参阅此文档。似乎您可以这样做:

getCurrentInputConnection().getTextBeforeCursor(100, 0);

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

See this documentation. It seems that you can do this:

getCurrentInputConnection().getTextBeforeCursor(100, 0);

or some other large number since it only takes the text from the input - not all the 'n' characters.

别念他 2024-11-25 03:49:08

试试这个。这应该有效。

//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();

Try this.This should work.

//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();
隔纱相望 2024-11-25 03:49:08

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

As was said above you can use getTextBeforeCursor() with large number. If it return string with same length, you can try get bigger one. But be careful, some applications, like email app from Samsung return whole length string! Even if you type 1 character.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文