2010-11-17 48 views
6

如果(在Android中)我有一个EditText框,当用户输入数据并点击return/Next时,如何触发事件?如何在用户点击输入时触发操作?

我试过使用下面的代码,但它似乎没有效果。我也从类型new 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) 
       { 

回答

9

我打得四处各种事情了一下,发现下面的代码工作:

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

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

你可以在这里找到类似的东西:Android Development: How To Use onKeyUp?和文档UI-Events

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

+0

由于Android文档中指定,默认软件键盘永远不会将任何关键事件发送到任何针对Jelly Bean或更高版本的应用程序,并且只会将一些按下删除和返回键的事件发送到以Ice Cream Sandwich或更早版本为目标的应用程序。 – 2014-05-07 12:29:21

4

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

+0

交互方法。从来没有来过这一个...将记住。 – DrColossos 2010-11-17 21:51:53

+1

@DrColossos @CommonsWare更多相关信息http://stackoverflow.com/questions/1489852/android-handle-enter-in-an-edittext/1489895#1489895 – 2010-11-17 21:54:30

+0

谢谢。如果有人点击了EditText然后点击了,这也可以起作用。可能由失去焦点命令来处理? – Entropy1024 2010-11-17 22:22:41

相关问题