我有一个 edittext 视图,我需要能够在光标的当前位置插入一些特殊的单词。我知道如何使用 editview.SelectionStart 找到它。我在实际插入新单词时遇到了问题。
我希望能够在该位置插入新单词。
我试过这个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
中所示我该怎么做?
马洛
Don French
答案 0 :(得分:2)
Vipul Mittal在正确的轨道上。他提供的代码导致最后一个子字符串中的运行时错误超出范围。正确的代码是
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 ));
由于start和end在我目前的情况下是相同的,因此对startPoint和endPoint使用相同的值可以正常工作。但是,通过使用上面的代码,我还支持用特殊字替换所选文本。
请注意,这假设startPoint小于终点。我的理解可能并非总是如此。
答案 1 :(得分:1)
请尝试以下代码:
string text=editSubject.Text;
editSubject.Text = text.Substring(0, insertPoint)+word+text.Substring(insertPoint, text.Length);