2017-01-16 119 views
1

我正在测试Android EditText中的imeOption功能。我明白它是如何工作的以及像Go,Search,Done等等的各种选项。我的问题涉及到它的事件监听器。Android EditText imeOptions

answer为例,当单击软键盘上的右角按钮时,调用setOnEditorActionListener

setOnEditorActionListener将被调用,无论(如果我是正确的)什么时间选项被指定(只要有一个);那为什么还要检查它是什么动作呢?编辑文本是否有在xml布局中指定的固定时间选项?我不明白setOnEditorActionListener何时被调用为什么每个人都检查操作ID?

回答

0

我有一个可能的推理,为什么Android在setOnEditorActionListener事件中提供操作ID。我认为它是因为与EditText相关的动作可以在运行时更改。我想一个简单的测试:

  1. 设置imeOptionsactionSend
  2. 在活动中,切换操作使用:setImeActionLabel("search", EditorInfo.IME_ACTION_SEARCH)
  3. 导航离开EditText离开,然后回来吧
  4. 现在显示的软键盘“搜索”而不是发送图标

如果有人有任何其他推理,请分享。