語言

IInputConnection.SetComposingText 方法

定義

多載

名稱 Description
SetComposingText(ICharSequence, Int32)

將目前正在合成的文字替換成給定的文字,並設定新的游標位置。

SetComposingText(ICharSequence, Int32, TextAttribute)

#setComposingText(CharSequence, int)變體。

SetComposingText(String, Int32, TextAttribute)

#setComposingText(CharSequence, int)變體。

SetComposingText(ICharSequence, Int32)

將目前正在合成的文字替換成給定的文字,並設定新的游標位置。

[Android.Runtime.Register("setComposingText", "(Ljava/lang/CharSequence;I)Z", "GetSetComposingText_Ljava_lang_CharSequence_IHandler:Android.Views.InputMethods.IInputConnectionInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
public bool SetComposingText(Java.Lang.ICharSequence? text, int newCursorPosition);
[<Android.Runtime.Register("setComposingText", "(Ljava/lang/CharSequence;I)Z", "GetSetComposingText_Ljava_lang_CharSequence_IHandler:Android.Views.InputMethods.IInputConnectionInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member SetComposingText : Java.Lang.ICharSequence * int -> bool

參數

text
ICharSequence

必要時,還有寫作風格。 若文字中沒有樣式物件,則使用預設的樣式來組合文字。 請參考 android.text.Spanned 如何將樣式物件附加到文字上。 android.text.SpannableStringandroid.text.SpannableStringBuilder 是介面 android.text.Spanned的兩個實作。

newCursorPosition
Int32

文字周圍的新游標位置。 若 > 0,則相對於文本結尾為 - 1;若 <= 0,則相對於文本開頭。 所以值為 1 時,你總是會跳到插入全文之後的位置。 請注意,這表示你無法將游標置於文字中,因為編輯器可能會修改你提供的文字,導致無法正確指定該位置。

傳回

成功時為真;若輸入連線不再有效,則為假。

屬性

備註

將目前正在合成的文字替換成給定的文字,並設定新的游標位置。 任何先前設定的寫作文本都會自動移除。

如果目前有任何正在進行的寫作時段,所有包含該時段的字元都會被移除。 將傳過的文字加入原有內容,並在此文本中加入一個寫作跨度。 若沒有啟用的組合區間,則將傳遞的文字加入游標位置(若有選中的字元,先移除),並在新文字上加入一個組合區間。 最後,游標被移動到由 newCursorPosition指定的位置。

IME 通常會呼叫這個方法,用來在創作期間新增、刪除或更改字元。 呼叫此方法會讓編輯者在批次輸入結束後呼叫 android.inputmethodservice.InputMethodService#onUpdateSelection(int, int, int, int, int, int) 當前的 IME。

<強編>作者:</強> 請記得,文本可能與通話時寫作時段內容非常相似或完全不同,甚至根本沒有寫作段。 請注意,雖然這不是一般用途,但弦線可能已經是空的。 請正常處理,將當前正在寫的文字替換成空字串。 另外,要小心游標的位置。 以我個人經驗來說,這完全依賴上述描述的運作。 由於這會改變編輯器的內容,你需要透過呼叫 InputMethodManager#updateSelection(View, int, int, int, int),讓輸入法知道這些變更,但如果批次編輯正在進行中,請小心等到批次編輯結束後再進行。 請注意,這個方法可以將游標位置設在構圖文本的任一邊緣或完全在邊緣之外,但 IME 也可能在後續呼叫中將游標位置移到合成文本內部,因此你完全不必假設:構圖文本與選取區完全獨立。

Java 文件 android.view.inputmethod.InputConnection.setComposingText(java.lang.CharSequence, int)

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於

SetComposingText(ICharSequence, Int32, TextAttribute)

#setComposingText(CharSequence, int)變體。

[Android.Runtime.Register("setComposingText", "(Ljava/lang/CharSequence;ILandroid/view/inputmethod/TextAttribute;)Z", "GetSetComposingText_Ljava_lang_CharSequence_ILandroid_view_inputmethod_TextAttribute_Handler:Android.Views.InputMethods.IInputConnection, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=33)]
public virtual bool SetComposingText(Java.Lang.ICharSequence text, int newCursorPosition, Android.Views.InputMethods.TextAttribute? textAttribute);
[<Android.Runtime.Register("setComposingText", "(Ljava/lang/CharSequence;ILandroid/view/inputmethod/TextAttribute;)Z", "GetSetComposingText_Ljava_lang_CharSequence_ILandroid_view_inputmethod_TextAttribute_Handler:Android.Views.InputMethods.IInputConnection, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=33)>]
abstract member SetComposingText : Java.Lang.ICharSequence * int * Android.Views.InputMethods.TextAttribute -> bool
override this.SetComposingText : Java.Lang.ICharSequence * int * Android.Views.InputMethods.TextAttribute -> bool

參數

text
ICharSequence

必要時,還有寫作風格。 若文字中沒有樣式物件,則使用預設的樣式來組合文字。 請參考 android.text.Spanned 如何將樣式物件附加到文字上。 android.text.SpannableStringandroid.text.SpannableStringBuilder 是介面 android.text.Spanned的兩個實作。

newCursorPosition
Int32

文字周圍的新游標位置。 若 > 0,則相對於文本結尾為 - 1;若 <= 0,則相對於文本開頭。 所以值為 1 時,你總是會跳到插入全文之後的位置。 請注意,這表示你無法將游標置於文字中,因為編輯器可能會修改你提供的文字,導致無法正確指定該位置。

textAttribute
TextAttribute

關於文本的額外資訊。

傳回

成功時為真;若輸入連線不再有效,則為假。

屬性

備註

#setComposingText(CharSequence, int)變體。 此方法用於讓 IME 在撰寫文本時提供額外資訊。

Java 文件 android.view.inputmethod.InputConnection.setComposingText(java.lang.CharSequence, int, android.view.inputmethod.TextAttribute)

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於

SetComposingText(String, Int32, TextAttribute)

#setComposingText(CharSequence, int)變體。

public virtual bool SetComposingText(string text, int newCursorPosition, Android.Views.InputMethods.TextAttribute? textAttribute);
abstract member SetComposingText : string * int * Android.Views.InputMethods.TextAttribute -> bool
override this.SetComposingText : string * int * Android.Views.InputMethods.TextAttribute -> bool

參數

text
String

必要時,還有寫作風格。 若文字中沒有樣式物件,則使用預設的樣式來組合文字。 請參考 android.text.Spanned 如何將樣式物件附加到文字上。 android.text.SpannableStringandroid.text.SpannableStringBuilder 是介面 android.text.Spanned的兩個實作。

newCursorPosition
Int32

文字周圍的新游標位置。 若 > 0,則相對於文本結尾為 - 1;若 <= 0,則相對於文本開頭。 所以值為 1 時,你總是會跳到插入全文之後的位置。 請注意,這表示你無法將游標置於文字中,因為編輯器可能會修改你提供的文字,導致無法正確指定該位置。

textAttribute
TextAttribute

關於文本的額外資訊。

傳回

成功時為真;若輸入連線不再有效,則為假。

備註

#setComposingText(CharSequence, int)變體。 此方法用於讓 IME 在撰寫文本時提供額外資訊。

Java 文件 android.view.inputmethod.InputConnection.setComposingText(java.lang.CharSequence, int, android.view.inputmethod.TextAttribute)

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於