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