開始設置光標InputConnection.commitText(CharSequence text, int newCursorPosition)
文檔說newCursorPosition
意味着:在插入的文本與InputConnection.commitText
INT:文本週圍的新的光標位置,在Java中的字符。 如果> 0,這是相對於文本的結尾 - 1;如果< = 0,則這是相對於文本開始的 。因此,值1將始終提前 光標到全文插入後的位置。注意 這意味着您不能將光標放在文本中,因爲 編輯器可以對您提供的文本進行修改,所以 不可能在那裏正確指定位置。
在this example,如果我輸入兩個字符,然後將光標定位在它們之間像這樣
,然後輸入其他字符,這並不重要,如果我設置newCursorPosition
到0
或1
。遊標始終處於插入的末尾。例如調用
inputConnection.commitText("aaa", 0);
或
inputConnection.commitText("aaa", 1);
兩個顯示光標這樣的:
如果我做-1
與
inputConnection.commitText("aaa", -1);
我得到這個
的1
和-1
結果預計按文檔。 爲什麼0
未將光標置於插入的開頭?我希望0
應該是這樣的
inputConnection.commitText("aaa", 0);
,但事實並非如此。爲什麼不?
爲什麼你顯示0的兩個不同的位置?也許0沒有效果? –
在上一張圖片中,我展示了預期結果,而不是實際結果。 @AlexanderHiggins – Suragch