Android EditText OnKeyDown event in xml



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

(实际上我不想捕捉'enter'键…所以也许有更简单的方法?)

谢谢你,罗恩

据我所知:不,没有一种"简单"的方法可以在XML中捕获它。只能以xml格式捕获onClick。因此,如果你必须在XML中使用它,你可以这样做:

  1. 扩展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
        }
    });

相关内容

  • 没有找到相关文章

最新更新