gpt4 book ai didi

android - 为什么 if else 语句的两边都被执行了,如何解决?

转载 作者:太空宇宙 更新时间:2023-11-03 11:45:35 24 4
gpt4 key购买 nike

我有一段代码:

passwordEditText.setOnKeyListener(new OnKeyListener() 
{
@Override
public boolean onKey(View v, int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_ENTER)
{
launch.performClick();
return true;

}
else
{
return false;
}
}
});

我想要的是当按下回车键时它执行登录命令(启动是执行登录的按钮)。但是,在执行 true block 之后,它还会继续执行 else block ,返回 false 并导致(仅在某些设备上)发生第二次登录。

所以我的问题分为两部分:if else 语句如何评估为真和假,以及我如何才能让它不那样做。我想到了一些技巧来实现这一点,但这似乎是一个更好理解然后迅速修补的问题。

最佳答案

你看到的是 OnKey 被触发了两次,第一次按下键,第二次按下键,所以你必须用

过滤它
    if (event.getAction()!=KeyEvent.ACTION_DOWN) {
return true;
}

switch (keyCode) {
case KeyEvent.KEYCODE_1 :
//do something
break;
case KeyEvent.KEYCODE_2 :
//do something
break;
case KeyEvent.KEYCODE_3 :
//do something
break;
}

return true;

关于android - 为什么 if else 语句的两边都被执行了,如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7366287/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com