只有当软键盘输入一个数字时,是否可以为numberPicker设置onChangeListener? 当数字改变为gy +/-时,不应执行监听器。仅当用户从软键盘输入数字时。
目标是在用户输入上一个项目中的数字后,下一个选择项应该获得焦点。 因此,用户准备输入“12345”之类的数字,每个选择项都有自己的值:
Picker0=1
Picker1=2
Picker3=3
Picker4=4
Picker5=5
我认为可能还是错误的方式?
答案 0 :(得分:1)
就个人而言,当我犯错误时,我不喜欢单独移动的焦点 - 例如,如果我按下4而不是5并且它将我带到下一个选择器,我会感到恼火。您可以考虑在用户点击回车键时更改焦点...无论哪种方式,您都需要在活动或对话框中设置onKeyUp事件,查找代表焦点变化的键码(输入密钥)或数字)
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_ENTER)
//blah
return true;
}
else if (keyCode == KeyEvent.KEYCODE_1) // sadly you'll have to put in a
//blah // comparison for each number here
return false; // Return false b/c you want the picker to receive number input
}
return false;
}