我是 Android 开发的新手,我似乎找不到关于如何使用 onKeyUp
侦听器的好指南。
在我的应用程序中,我有一个大的 EditText
,当有人按下并释放其中的一个键时 EditText
我想调用一个将在其中执行正则表达式的函数 EditText
。
我不知道如何使用 onKeyUp
。有人可以告诉我怎么做吗?
原文由 AlexPriceAP 发布,翻译遵循 CC BY-SA 4.0 许可协议
我是 Android 开发的新手,我似乎找不到关于如何使用 onKeyUp
侦听器的好指南。
在我的应用程序中,我有一个大的 EditText
,当有人按下并释放其中的一个键时 EditText
我想调用一个将在其中执行正则表达式的函数 EditText
。
我不知道如何使用 onKeyUp
。有人可以告诉我怎么做吗?
原文由 AlexPriceAP 发布,翻译遵循 CC BY-SA 4.0 许可协议
更正:
有一段时间,我使用了通用的 onKeyListener 。我很快发现我的代码被调用了两次。一次按下键,一次按下键。我现在使用以下侦听器并且只调用一次代码。 "if (event.getAction() == KeyEvent.ACTION_UP)"
是关键。
OnKeyListener keyListener = new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_UP) {
//do something here
}
return false;
}
};
我发现 onKeyUp()
会为 Activity 中的每个控件自动调用。如果这是你想要的,将它添加到 Activity 就像你添加 onCreate()
例子:
public boolean onKeyUp(int keyCode, KeyEvent event) {
//do something here
return false;
};
我知道这是一个老问题,但也许这会帮助其他人解决同样的问题。
原文由 R Hughes 发布,翻译遵循 CC BY-SA 3.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
非常正确的方法是使用 TextWatcher 类。