【问题标题】:How to replace softkeyboard inputconnection text with new text如何用新文本替换软键盘输入连接文本
【发布时间】:2021-05-28 17:34:06
【问题描述】:

我正在创建一个带有键盘翻译的应用程序,其中翻译了键盘输入的输入,我想用用户输入的输入替换翻译后的文本。为此我使用了以下方法

currentInputConnection.getExtractedText(ExtractedTextRequest(), 0).text = firstTranslation

但是这种方法不起作用。如何用原文替换我的翻译文本

【问题讨论】:

    标签: android input keyboard


    【解决方案1】:
    CharSequence currentText = inputConnection.getExtractedText(new ExtractedTextRequest(), 0).text;
    CharSequence before = inputConnection.getTextBeforeCursor(currentText.length(),0);
    CharSequence after = inputConnection.getTextAfterCursor(currentText.length(),0);
    
    //Replace code
    //inputConnection.setComposingRegion(start of word,end of word);
    inputConnection.setComposingRegion(after.length(),before.length());
    inputConnection.setComposingText("Translate Text here",currentText.length());
    

    在 currenttext 我们得到用户输入的文本, 而在Before & After我们得到currenttext的开始&结束光标值

    所以现在我们必须设置替换文本的范围,你想替换多少个字符 我们在 setcomposingregion() 中设置,然后我们必须在 setComposingtext() 中设置 TExt。

    所有这些代码都在 onkeyUp 里面。

    【讨论】:

    • 请添加有关必须更改的信息,然后您可以指向示例代码
    猜你喜欢
    • 2019-02-07
    • 1970-01-01
    • 2021-07-20
    • 2020-04-23
    • 1970-01-01
    • 1970-01-01
    • 2015-01-26
    • 1970-01-01
    • 2013-07-01
    相关资源
    最近更新 更多