如何在用户点击输入时触发操作?
如果(在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)
{
我打得四处各种事情了一下,发现下面的代码工作:
myEditText.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
// Do some stuff
}
});
将KeyListener添加到监听关键事件的文本框中。在关键事件中,按下“ENTER”键并执行您的操作。
你可以在这里找到类似的东西:Android Development: How To Use onKeyUp?和文档UI-Events。
一个很好的例子就是链接的SO问题。在此之后,你应该得到想要的结果。
我相信你想要的是setOnEditorActionListener()
方法,dev guide info here on the method.
交互方法。从来没有来过这一个...将记住。 – DrColossos 2010-11-17 21:51:53
@DrColossos @CommonsWare更多相关信息http://*.com/questions/1489852/android-handle-enter-in-an-edittext/1489895#1489895 – 2010-11-17 21:54:30
谢谢。如果有人点击了EditText然后点击了,这也可以起作用。可能由失去焦点命令来处理? – Entropy1024 2010-11-17 22:22:41
由于Android文档中指定,默认软件键盘永远不会将任何关键事件发送到任何针对Jelly Bean或更高版本的应用程序,并且只会将一些按下删除和返回键的事件发送到以Ice Cream Sandwich或更早版本为目标的应用程序。 – 2014-05-07 12:29:21