如何在Android中的软键盘中设置光标位置(不在EditText或TextView !!!中)?

时间:2011-12-11 04:20:16

标签: android android-softkeyboard cursor-position soft-keyboard

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

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

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

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

1 个答案:

答案 0 :(得分:0)

  

这很简单。我正在努力解决软问题   键盘。

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

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

然后只需计算并添加上述两个值的长度即可   可以获得撰写文本区域的长度。

     

如有任何问题,请告知我。