0

以下代码仅适用于 1000 个字符。如果超过 1000 个字符,光标会跳回到 999 个字符的末尾重新开始工作。

这是因为getTextBeforeCursor(n,flag)只能提供n当前光标位置之前的字符数。而在 EditText 中,我们可以通过 usinggetText()方法获取所有文本,也可以获取长度。但是如何在撰写文本区域中获取整个文本的长度,以便我可以将光标位置设置到我想要的任何位置。

InputConnection ic = getCurrentInputConnection();
ic = getCurrentInputConnection();

String str = ic.getTextBeforeCursor(1000,0).toString();
ic.setSelection(str.length()-1,str.length()-1);
4

1 回答 1

0

这很简单。当我在软键盘上工作时,我刚刚得到了解决方案。

CharSequence textBeforeCursor = getCurrentInputConnection().getTextBeforeCursor(1000, 0);

CharSequence textAfterCursor = getCurrentInputConnection().getTextAfterCursor(1000, 0);

然后通过计算和添加以上两个值的长度,您可以获得组成文本区域的长度。

如果有任何问题,请告诉我。

于 2013-12-14T14:01:11.407 回答