【发布时间】:2011-10-30 16:59:36
【问题描述】:
有没有办法将 OnKeyDown 事件分配给 xml 中的 EditText? 我知道如何在代码中做到这一点,但是 XML?
(实际上我不想捕捉到“输入”按下...所以也许有更简单的方法?)
谢谢, 罗恩
【问题讨论】:
标签: android xml events android-edittext onkeydown
有没有办法将 OnKeyDown 事件分配给 xml 中的 EditText? 我知道如何在代码中做到这一点,但是 XML?
(实际上我不想捕捉到“输入”按下...所以也许有更简单的方法?)
谢谢, 罗恩
【问题讨论】:
标签: android xml events android-edittext onkeydown
据我所知:不,没有一种“简单”的方法可以在 XML 中捕获它。您只能在 xml 中捕获 onClick。
因此,如果您必须在 XML 中使用它,您可以执行以下操作:
然后
1.2。在其上定义您的自定义样式属性(即“onKeyDown”)。看看here 怎么做。我建议你使用字符串作为值。
1.3。现在棘手的部分:您必须使用反射在活动中找到 onKeyListener 并将其作为 KeyListener 添加到您的自定义 editText
或
2.2 只需让您的 Activity 实现 onKeyListener 并在您的自定义 EditText 的构造函数中强制转换给定的上下文
【讨论】:
您可以使用 xml 中的 android:imeOptions 来选择按钮的行为方式。
您可以像这样覆盖按钮:
editText.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
/// Do stuff here
}
});
【讨论】: