是否有任何方法将OnKeyDown事件分配给xml中的EditText ?我知道如何在代码中做到这一点,但是XML呢?
(实际上我不想捕捉'enter'键…所以也许有更简单的方法?)
谢谢你,罗恩
据我所知:不,没有一种"简单"的方法可以在XML中捕获它。只能以xml格式捕获onClick
。因此,如果你必须在XML中使用它,你可以这样做:
- 扩展EditText与您的自定义类。
1.2。定义你自定义的可样式属性(如"onKeyDown")。看看怎么做。我建议您使用字符串作为值。
1.3。现在棘手的部分:您必须使用反射来找到活动中的onKeyListener,并将其作为KeyListener添加到您的自定义editText
或
2.2简单地让你的活动实现onKeyListener和cast给定的上下文在你的自定义EditText构造器
你可以使用xml中的android:imeOptions来选择按钮的行为。
你可以像这样重写按钮:
editText.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
/// Do stuff here
}
});