2013-12-21 58 views
0

當前位置Xamarin的Android插入我有一個的EditText認爲我需要能夠在當前光標位置插入一些特殊的詞。我知道如何使用editview.SelectionStart找到它。我在實際在該位置插入新單詞時遇到問題。在EditText上

我希望能夠在該位置插入新字。

我已經試過這Android: Insert text into EditText at current position下xamarin插入格式似乎不存在。

我自己也嘗試這樣的代碼:

string word = "ReservedWord"; 

var insertPoint = currentField.SelectionStart; 

editSubject.Text.Insert (insertPoint, word); 

Insert character between the cursor position in edit text

我怎樣才能做到這一點表示?

馬洛

唐法國

回答

2

VIPUL米塔爾是正確的軌道上。他提供的代碼導致最後一個子字符串中的運行時錯誤超出範圍。正確的代碼是

string text=editSubject.Text; 
int startPoint = editSubject.SelectionStart; 
int endPoint = editSubject.SelectionEnd; 
editSubject.Text = text.Substring(0, startPoint) + word + text.Substring (endPoint,(text.Length - endPoint)); 

既然開始和結束都在我的當前情況下是相同的,使用startPoint和endPoint相同的值工作正常。但是,通過使用上面的代碼,我還支持用特殊字詞替換選定的文本。

注意這個假設:起點小於終點。這可能不總是這樣,我的理解是。

1

嘗試下面的代碼:

string text=editSubject.Text; 

editSubject.Text = text.Substring(0, insertPoint)+word+text.Substring(insertPoint, text.Length); 
+1

這是否意味着EDITTEXT的整個文本被複制來回?然而,我看到這個解決方案對文本的副本不感興趣。 –