Ash*_*thi 3 android if-statement keyevent
我有一段代码:
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;
}
}
});
Run Code Online (Sandbox Code Playgroud)
我想要的是当按下回车键时它执行登录命令(启动是执行登录的按钮).但是,在执行true块之后,它继续执行else块,返回false并导致(仅在某些设备上)登录第二次.
所以我的问题分为两部分:if else语句如何评估为true和false,以及如何实现它以便它不会这样做.我已经想到了一些技巧来实现这一点,但这似乎是一个更好理解然后快速修补的问题.
你看到的是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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1876 次 |
| 最近记录: |