Android:如何在程序中高亮EditText?

6

requestFocus()方法可以将光标移动到编辑框中,但不会将其突出显示。我想要像触摸一样突出显示它。

我该如何做到这一点?


嗯...我创建了一个简单的用例,并且使用requestFocus()按预期工作。需要澄清在真实场景中发生了什么。 - alex2k8
2个回答

23

试试这个:

_field.setSelection( int startIndex, int endIndex);

第一个参数startIndex是您想要开始突出显示的字符串中的位置,endIndex参数是您想要停止突出显示的位置。

如果您想选择所有文本,请改用以下方法:

_field.selectAll();

2
抱歉,似乎我没有表达清楚... 我说的是编辑区域周围的高亮显示,而不是文本选择。 - alex2k8

7

I found a bug. My code was some thing like this:

edit = new EditText();
edit.requestFocus()
container.addView(edit);

它将光标移到新的“编辑”位置,但未突出显示。以下是解决方法:
edit = new EditText();
container.addView(edit);
edit.requestFocus();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接