5

为什么我有setSelectionin InputConnection,但没有 a getSelection()

我应该只做一个getTextBeforeCursor(VERY_HIGH_NUMBER, 0)并计算.length()那个字符串的吗?

4

3 回答 3

2

我同意,这很愚蠢,getSelection()不存在。您的解决方案工作正常,但您必须假设只有一个光标显示,而不是整个选定的文本范围。我还没有想出如何填补这个洞。

编辑: 哦,当然:

int selStart = ic.getTextBeforeCursor(HIGH_NUMBER, 0).length();
String sel = ic.getSelectedText(); 
int selEnd = selStart + (sel==null? 0: sel.length());
于 2011-05-19T01:50:27.537 回答
0

我有这个问题。我想重构对我的引用EditText并使用InputConnection唯一的。为了让选择开始和结束,我最终使用了getExtractedText(…)这样的方法:

    private static final ExtractedTextRequest request = new ExtractedTextRequest();
    private InputConnection ic;

// …

    ExtractedText extractedText = ic.getExtractedText(request, 0);
    int start = extractedText.selectionStart;
    int end = extractedText.selectionEnd;
于 2020-01-10T23:10:21.240 回答