繁体   English   中英

KeyEvent会触发2个事件-我可以添加延迟吗?

[英]KeyEvent is triggering 2 events - can I add a delay?

因此,我在用户名和密码字段中输入以下代码。 我想让Android中的Enter键将光标移至“密码”字段。 这是可行的,但是我的代码还触发了密码字段来调用signUpOrLogin函数。

有没有办法增加延迟或解决这个问题的方法?

if (usernameField.hasFocus() && keyCode == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_DOWN){
  passwordField.requestFocus();
  }

if (passwordField.hasFocus() && keyCode == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_DOWN){
  signUpOrLogin(v);
}

您可以将isEmpty()添加到if语句中,以检查是否已使用TextField 这样可以使该字段必须具有值才能执行该语句。 您的代码如下所示:(请注意,我尚未对此进行测试)

    if (!usernameField.getText().isEmpty() && usernameField.hasFocus() && KeyCode == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_DOWN){
         passwordField.requestFocus();
    }

    if (!passwordField.getText().isEmpty() && passwordField.hasFocus() && keyCode == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_DOWN){
         signUpOrLogin(v);
    }

希望这可以帮助。 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM