从 InputConnection 获取 EditText 中所有文本的更好方法?

发布于 2024-12-04 21:05:47 字数 475 浏览 1 评论 0原文

我已经编写了一个 IME(InputMethodService),我需要从它正在编辑的 EditText 中获取所有文本。我知道一种方法:

InputConnection inputConnection = getCurrentInputConnection();
inputConnection.append(inputConnection.getTextBeforeCursor(9999, 0))
.append(inputConnection.getTextAfterCursor(9999, 0));

它有效,但看起来相当愚蠢和笨重。然而,没有这样的方法InputConnection.getText()

有更好的办法吗?

PS 我无法从 IME 访问 EditText,因为它属于父应用程序,所以请不要告诉我使用 EditText.getText(),除非您知道获取 EditText 的方法!

I've written an IME (InputMethodService) and I need to get all the text from the EditText it is editing. I know one way:

InputConnection inputConnection = getCurrentInputConnection();
inputConnection.append(inputConnection.getTextBeforeCursor(9999, 0))
.append(inputConnection.getTextAfterCursor(9999, 0));

It works, but it seems pretty stupid and clunky. However there is no such method InputConnection.getText().

Is there a better way?

P.S. I cannot access the EditText from my IME because it belongs to the parent app so please don't tell me to use EditText.getText(), unless you know a way to get the EditText!

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

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

发布评论

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

评论(2

凡尘雨 2024-12-11 21:05:47

我的解决方案是使用 getExtractedText()。我不确定这是否有一些限制,但到目前为止对我有用。

CharSequence currentText = inputConnection.getExtractedText(new ExtractedTextRequest(), 0).text;

My solution is to use getExtractedText(). I am not sure if this has some limitations, but has worked for me so far.

CharSequence currentText = inputConnection.getExtractedText(new ExtractedTextRequest(), 0).text;
意中人 2024-12-11 21:05:47

这还有另一种方法:

inputConnection.performContextMenuAction(android.R.id.selectAll);
CharSequence sData =  inputConnection.getSelectedText(0);

Here is also another way to do it:

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