Bar*_*man 11 android android-input-method android-edittext
我写了一个IME(InputMethodService),我需要从它正在编辑的EditText中获取所有文本.我知道一种方式:
InputConnection inputConnection = getCurrentInputConnection();
inputConnection.append(inputConnection.getTextBeforeCursor(9999, 0))
.append(inputConnection.getTextAfterCursor(9999, 0));
Run Code Online (Sandbox Code Playgroud)
它有效,但看起来非常愚蠢和笨重.然而,没有这样的方法InputConnection.getText().
有没有更好的办法?
PS我无法从我的IME访问EditText,因为它属于父app,所以请不要告诉我使用EditText.getText(),除非你知道一种获取EditText的方法!
小智 18
我的解决方案是使用getExtractedText().我不确定这是否有一些限制,但到目前为止对我有用.
CharSequence currentText = inputConnection.getExtractedText(new ExtractedTextRequest(), 0).text;
Run Code Online (Sandbox Code Playgroud)
这也是另一种方法:
inputConnection.performContextMenuAction(android.R.id.selectAll);
CharSequence sData = inputConnection.getSelectedText(0);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4257 次 |
| 最近记录: |