android - Android 键盘 InputConnection setSelection 不适用于 unicode?
问题描述
在编辑器中粘贴带有 unicode 的文本时,例如:
Please give me an authentic answer buddy.
并做:
getCurrentInputConnection().setSelection(31, 43);
所选文本不在正确位置。可能是因为开头有两个特殊的 unicode 字符?
解决方案
我相信这个功能可以解决这个问题:
public void setSelectionByUnicodePosition(InputConnection inputConnection, String currentString, int start, int end){
int firstUnicodeposition = currentString.offsetByCodePoints(0, start);
int secondUnicodePosition = currentString.offsetByCodePoints(0, end);
inputConnection.setSelection(firstUnicodeposition, secondUnicodePosition);
}
推荐阅读
- python - python中if else语句中的值错误
- jquery - 如何在 KendoUI Grid Popup 编辑器中访问输入元素的值?
- go - 如何正确调整 Go 中的 Argon2 参数以减少内存消耗?
- python - 将基于 web 的 .txt 文件导入 python
- flutter - 通过平台通道使用相机
- java - JAVA - 将通用枚举作为构造函数的方法参数传递
- r - 使用负二项式模型时,如何在 R 中绘制交互作用?
- python - Django中文件的部分匹配搜索
- angularjs - Angular,页面刷新时数据丢失
- azure - 使用单个 Azure 应用服务托管多个应用程序/微服务有哪些限制/缺点?