Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何从inputConnection中检测并删除unicode序列表情符号?_Android_Emoji_Inputconnection - Fatal编程技术网

Android 如何从inputConnection中检测并删除unicode序列表情符号?

Android 如何从inputConnection中检测并删除unicode序列表情符号?,android,emoji,inputconnection,Android,Emoji,Inputconnection,假设我有一个edittext字段,我必须在其上实现“退格”功能 删除简单的字母字符是可以的,它可以工作: Character.isLetter(inputConnection.getTextBeforeCursor(1, 0).toString()) { inputConnection.deleteSurroundingText(1, 0); } 当角色是表情符号时,问题就来了 其长度表示为2个utf-16字符,例如: 笑脸:我很确定Java有办法检查某个特定字符属于哪个Unicode

假设我有一个edittext字段,我必须在其上实现“退格”功能

删除简单的字母字符是可以的,它可以工作:

Character.isLetter(inputConnection.getTextBeforeCursor(1, 0).toString()) {
   inputConnection.deleteSurroundingText(1, 0);
}
当角色是表情符号时,问题就来了

其长度表示为2个utf-16字符,例如:



笑脸:我很确定Java有办法检查某个特定字符属于哪个Unicode表,然后你只需对字符串中的每个字符都这样做,如果它在表情符号代码表中,就将其删除。这里的关键是在每个字符上拆分,而不是在每个字节上拆分。或者,类似的东西可能会派上用场。