【问题标题】:How do I trigger an action when the user has hit enter?当用户按下回车键时如何触发动作?
【发布时间】:2010-11-17 21:36:50
【问题描述】:

如果(在 Android 中)我有一个 EditText 框,当用户完成输入数据并点击返回/下一步时,如何触发事件?

我尝试使用下面的代码,但似乎没有效果。我还收到一个“新 extView.OnEditorActionListener(){} 类型的方法 onEditorAction(EditText, int, KeyEvent) 从未在本地使用”错误。

myEditText.setOnEditorActionListener(new EditText.OnEditorActionListener() {
            public boolean onEditorAction(EditText v, int actionId, KeyEvent event) {
                if (actionId == EditorInfo.IME_ACTION_NEXT)
                {

【问题讨论】:

    标签: android triggers android-edittext


    【解决方案1】:

    我玩了很多东西,发现下面的代码有效:

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

    【讨论】:

      【解决方案2】:

      相信你想要的是setOnEditorActionListener()方法,dev guide info here on the method.

      【讨论】:

      • 有趣的方法。从来没有遇到过这个......会记住它。
      • @DrColossos 更多相关信息@CommonsWare stackoverflow.com/questions/1489852/…
      • 谢谢。如果有人单击 EditText 然后单击离开,这是否也有效。可能由失去焦点命令处理?
      • 失去焦点太不可靠了..很多时候我遇到一个编辑文本框,按下回车后不会失去焦点。
      【解决方案3】:

      在文本框中添加一个 KeyListener 来监听按键事件。在按键事件中,听“ENTER”键按下并执行您的操作。

      您可以在此处找到类似的内容:Android Development: How To Use onKeyUp?UI-Events 的文档。

      链接的 SO 问题就是一个很好的例子。在此之后,您应该会得到想要的结果。

      【讨论】:

      • 根据 Android 文档中的规定,默认软键盘永远不会向任何面向 Jelly Bean 或更高版本的应用程序发送任何按键事件,并且只会向应用程序发送一些按下删除键和返回键的事件定位到冰淇淋三明治或更早。
      猜你喜欢
      • 1970-01-01
      • 2010-12-08
      • 1970-01-01
      • 2012-03-14
      • 2016-09-03
      • 1970-01-01
      • 2016-12-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多