【问题标题】:How to catch a soft keyboard 'enter/done' press?如何捕捉软键盘的“输入/完成”按键?
【发布时间】:2011-03-16 18:49:42
【问题描述】:

我想知道用户何时按下软键盘上的“输入/完成/下一步”键,而活动不知道用户在哪个编辑文本框中。我看过一些代码,但它总是使用正在编辑的编辑文本框。

该应用程序有许多编辑文本框,只要编辑文本框中的任何一个值发生更改,就会重新运行计算。

【问题讨论】:

    标签: android android-softkeyboard


    【解决方案1】:

    然后将OnEditorActionListener附加到所有这些。

    【讨论】:

    • 我只在这样的新方法的定义中看到过这个,例如: textEdit5.setOnEditorActionListener(new OnEditorActionListener() { public boolean onEditorAction(TextView arg0, int keycode, KeyEvent event) { if(arg1 == KeyEvent.FLAG_EDITOR_ACTION){ btnSave.requestFocus(); return true; } return false; });我必须为我拥有的 14 个编辑文本框中的每一个创建一个新方法吗?
    • @Ted Betz:不。你在 14 个 EditText 小部件上调用 setOnEditorActionListener()。这是一个示例应用程序,我在 Honeycomb 操作栏中使用OnEditorActionListener 自定义Viewgithub.com/commonsguy/cw-android/tree/master/Menus/ActionBarBC
    • @Ted Betz:您创建了一个 OnEditorActionListener 对象并使用了 14 次。您在上面编辑的评论中添加的代码将创建一个一次性的一次性OnEditorActionListener 对象。这只是 Java 语法,与 Android 无关。
    • 我尝试了 myEditText1.setOnEditorActionListener();启动 14 个听众中的每一个,但没有运气。我很欣赏对您的示例代码的引用,但它也在一次性方法中使用 OnEditorAction。你能给我一个示例,说明我如何启动 14 个侦听器而不在每个侦听器中复制“//Do Stuff”代码吗?
    • @Ted Betz:“我感谢您对示例代码的引用,但它也在一次性方法中使用 OnEditorAction”——不,它没有。 onSearch 不是一种方法。它是一个对象,特别是活动的数据成员。
    猜你喜欢
    • 2011-03-03
    • 2011-11-30
    • 1970-01-01
    • 2013-01-09
    • 1970-01-01
    • 2012-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多