@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (null != event && event.getAction() != KeyEvent.ACTION_DOWN)
return false;
if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_NULL) {
searchKeyword();
return true;
}
return false;
}
});
/**
* Called when an action is being performed.
*
* @param v The view that was clicked.
* @param actionId Identifier of the action. This will be either the
* identifier you supplied, or {@link EditorInfo#IME_NULL
* EditorInfo.IME_NULL} if being called due to the enter key
* being pressed.
* @param event If triggered by an enter key, this is the event;
* otherwise, this is null.
* @return Return true if you have consumed the action, else false.
*/
boolean onEditorAction(TextView v, int actionId, KeyEvent event);
注意1:onEditorAction 触发只是enter key被按下,这里的enter key 应是指回车键,只有当这个键被按下弹起之后,事件才会触发(已测试验证)
对EditText而言,在测试过程中发现当up后才触发此事件,还有event一直是null,对于这一点不是很明白,这里可能和
子控件类型有关吧
在书写过程中,并没有触发,已验证