首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应用常规onkeylistener

应用常规onkeylistener
EN

Stack Overflow用户
提问于 2011-05-11 00:23:05
回答 3查看 3.2K关注 0票数 4

编程新手,现在是android。所以我希望我不会给你带来太多的麻烦。

无论如何,我应该如何在应用程序的顶层设置onkeylistener来捕获按键事件。

基本上,我有一个线性布局与动态添加编辑文本。我想要捕获Enter键事件,让它获取当前的edittext,执行一些测试,然后创建一个新的edittext并将其添加到布局中。

我知道我可以(并且已经)为各个子视图实现onkeylistener,但作为程序员,创建一个监听输入的edittext来创建另一个edittext来创建另一个edittext的逻辑似乎很奇怪……(你知道这是怎么回事了)

有谁能给我指个方向吗?我有更多关于我正在尝试做的事情的信息,我只是不知道什么是相关的,什么是不相关的,所以如果你需要更多,请让我知道。

谢谢你提前抽出时间来,克里斯

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-05-11 01:52:42

看一看http://developer.android.com/reference/android/app/Activity.html#dispatchKeyEvent%28android.view.KeyEvent%29

您想要的是在窗口中的任何View处理事件之前拦截所有事件。如果事件已处理,则返回true;如果希望childs进一步处理事件,则返回false。

票数 1
EN

Stack Overflow用户

发布于 2011-05-11 02:35:37

就像Ben所说的那样,您的活动可以实现OnKeyListener,然后对于您创建的每个EditText,将OnKeyListener设置为活动。

代码语言:javascript
复制
editText1.setOnKeyListener(this);

然后,在您的onKey实现中,您可以处理按键事件。

代码语言:javascript
复制
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
    if(v == editText1) {
      // do something
    } else if( v == editText2 ) {
      // do something
    }

    return true; // return true if you handled the keypress
}
票数 0
EN

Stack Overflow用户

发布于 2011-05-11 00:50:35

您的活动可以实现OnKeyListener。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5953193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档