有没有一种方法可以自动选择TextView中的文本?

时间:2019-08-15 15:05:42

标签: java android android-studio

有没有一种方法可以自动选择或突出显示TextView上预定的文本区域?例如,我希望在启动活动时已经预先选择了TextView上的特定行,而不是让用户自己选择该文本区域。

1 个答案:

答案 0 :(得分:0)

您正在寻找的很可能是setSelection函数。

它是这样的:

EditText edText = findViewById(id);
edText.setSelection(start, stop);

setSelection()函数有2个参数start和stop,它们都是整数,它是您要开始选择的字符的索引和要结束选择的字符的索引。 例如setSelection(0,1)将选择EditText的第一个字符。

如果要在EditText中选择特定的字符串,可以执行以下操作:

EditText edText = findViewById(id);
String lookingFor = "whatever youre looking for";
//You get the index of the first character of the string you're looking for
int start = edText.getText().toString().indexOf(lookingFor);
//You add the string's length to the index so the selection actually selects the 
//whole string.
int stop = start+lookingFor.length();
//You -start- selecting from the 1st character and -stop- at the last character
//Of the string you're looking for.
edText.setSelection(start,stop);