2010-11-17 72 views
3

当键盘为用户输入打开(可能是硬件键盘或虚拟键盘)时,我想突出显示EditText中的文本。当键盘打开时在EditText中突出显示文本

突出显示不是我的问题,我的问题是突出显示的触发器。当键盘出现在特定的视图(在这种情况下,我的EditText)时是否有一个处理程序被执行?硬件键盘和虚拟键盘有不同的处理程序吗?

回答

2

据我所知,你不能在那个级别得到这些事情的通知。为什么不在EditText获得焦点时突出显示它?实际上,这通常意味着显示IME。

事实上,已经有一种方法可以做到这一点:setSelectAllOnFocus

+0

嗯...我试过了,但它似乎并没有工作。我在XML中向EditText添加了“android:selectAllOnFocus =”true“”,但是当我在模拟器中运行应用程序时,没有任何选择。我还应该注意到,这个EditText是活动启动时选择的第一件事 – Andrew 2010-11-17 17:37:17

+1

如果我将注意力集中并带回,它会突出显示。但是,这仍然存在问题。说我点击EditText,它会突出显示,我改变了它的值(它不再突出显示),我再次点击EditText以恢复虚拟键盘,文本需要高亮显示,而不是。也许使用onClick处理器就足够了,但当用户滑出一个硬件键盘时它不起作用 – Andrew 2010-11-17 17:40:48

+0

我认为我已经成功完成了我所设置的内容,尽管它很麻烦。 1)setSelectAllOnFocus。 2)当EditText的onClick处理器触发时,全选。 3)创建活动时,如果EditText具有焦点并且存在硬件键盘,请选择全部 – Andrew 2010-11-17 19:14:49