0

有没有办法将 OnKeyDown 事件分配给 xml 中的 EditText?我知道如何在代码中做到这一点,但是 XML 呢?

(实际上我不想捕捉'输入'新闻......所以也许有更简单的方法?)

谢谢你,罗恩

4

2 回答 2

2

据我所知:不,没有一种“简单”的方法可以在 XML 中捕获它。您只能onClick在 xml 中捕获。因此,如果您必须在 XML 中使用它,您可以执行以下操作:

  1. 使用您的自定义类扩展 EditText。

然后

1.2. 在其上定义您的自定义样式属性(即“onKeyDown”)。看这里怎么做。我建议您使用字符串作为值。

1.3. 现在棘手的部分:您必须使用反射在活动中找到 onKeyListener 并将其作为 KeyListener 添加到您的自定义 editText

或者

2.2 只需让您的 Activity 实现 onKeyListener 并在您的自定义 EditText 的构造函数中转换给定的 Context

于 2011-10-30T17:19:16.953 回答
1

您可以使用 xml 中的 android:imeOptions 来选择按钮的行为方式。

您可以像这样覆盖按钮:

editText.setOnEditorActionListener(new OnEditorActionListener() {

        @Override
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            /// Do stuff here
        }
    });
于 2011-10-30T17:15:53.707 回答