我在文本字段中做退格键,我需要设置为composingText字或者它在光标位置之前离开的部分。每次按退格键时我都必须这样做。所以我的步骤必须是:
我尝试这样做:
ic.setSelection(startWordPosition, word.length());
ic.setComposingText(word, 1);
一切正常,而我不测试像“a.a”这样的字符串中的退格。它选择全部3个字符,但设置后,只替换点后的部分。
然后我尝试这样做:
ic.deleteSurroundingText(word.length(),0);
ic.setComposingText(word, 1);
但它无法正常工作,有时会在我的单词之前删除文本(可能是因为它目前正在撰写)。
找到另一种看起来正确的方式:
ic.finishComposingText();
ic.deleteSurroundingText(word.length(),0);
ic.setComposingText(word, 1);
ic.setSelection(fullInputedString.length(),fullInputedString.length());
是否正确?
应该如何以正确的方式进行?
目标sdk = 8
谢谢!
UPD: 我找到了
的下一个解决方案ic.finishComposingText();
ic.deleteSurroundingText(wordForInsert.length(), 0);
ic.setComposingText(wordForInsert, 1);
对于最新的Android版本,我使用适当的方法:
ic.setComposingRegion();
但是这个解决方案在4.0版Android和最新版本的标准版Android浏览器中提供了问题。