Xamarin android插入EditText中的当前位置

时间:2013-12-21 05:34:46

标签: android xamarin android-edittext

我有一个 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

2 个答案:

答案 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);