替换EditText选择

问题描述 投票:1回答:1

如何用android的edittext中的东西替换选中的文字?

Default Text 

假设现在选择了 "Default",我想用 !"boldDefault "来替换,怎么做?我试过使用get selection方法,但我无法替换它。

java android string replace android-edittext
1个回答
2
投票

如果 EditText 当前有文本被选中,您可以访问选择的起点和终点,就像这样。

int start = editText.getSelectionStart();
int end = editText.getSelectionEnd();

你可以访问 EditText's Editable 像这样的文本。

Editable edit = et.getText();

现在你可以替换里面的任何东西 Editable 使用 replace() 方法。

String newText = "this will replace the current selection";
edit.replace(start, end, newText);

一旦你这样做了,你可能会想改变选区,这样你就不会有部分新的文本仍然被选中。

editText.setSelection(start + newText.length());
© www.soinside.com 2019 - 2024. All rights reserved.