【问题标题】:Android EditText OnKeyDown event in xmlxml中的Android EditText OnKeyDown事件
【发布时间】:2011-10-30 16:59:36
【问题描述】:

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

(实际上我不想捕捉到“输入”按下...所以也许有更简单的方法?)

谢谢, 罗恩

【问题讨论】:

    标签: android xml events android-edittext onkeydown


    【解决方案1】:

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

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

    然后

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

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

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

    【讨论】:

      【解决方案2】:

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

      您可以像这样覆盖按钮:

      editText.setOnEditorActionListener(new OnEditorActionListener() {
      
              @Override
              public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
                  /// Do stuff here
              }
          });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多