【问题标题】:How to set cursor position in softkeyboard(not in EditText or TextView!!!) in Android?如何在 Android 的软键盘中设置光标位置(不在 EditText 或 TextView 中!!!)?
【发布时间】:2011-12-11 04:20:15
【问题描述】:

以下代码仅适用于 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);

【问题讨论】:

  • 不,它是一个自定义软键盘,可用于任何文本字段/区域。
  • 我找到了!只需分享其他人 sendDownUpKeyEvents(KeyEvent.KEYCODE_DPAD_LEFT);
  • @Naung:请将此评论作为答案发布并接受它,以便将此问题标记为已回答,并且来此线程搜索答案的人们很容易找到它。

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


【解决方案1】:

这很简单。我在做软件的时候刚刚得到了解决方案 键盘。

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

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

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

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

【讨论】:

    猜你喜欢
    • 2011-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-13
    • 1970-01-01
    • 2017-07-05
    • 2012-03-29
    相关资源
    最近更新 更多