我有一个关于Android的问题NumberPicker.当用户在a上执行Fling时NumberPicker,OnValueChange触发Listener for的每一步.我可以通过这种方式更改它,oldVal和newVal可能相互之间的差异超过1,并且只触发一次Listener吗?
提前致谢.
编辑:我将尝试在我的代码中更具体地解释它.
int diff = Math.abs(newVal - oldVal);
if (newVal - oldVal > 0) {
sendMessage(te);
for (int i = 0; i < diff; i++) {
sendMessage(plus);
}
sendMessage(te);
} else if (newVal - oldVal < 0) {
sendMessage(te);
for (int i = 0; i < diff; i++) {
sendMessage(minus);
}
sendMessage(te);
} else {
if (D)
Log.w(TAG, "This should NEVER happen");
}
Run Code Online (Sandbox Code Playgroud)
此方法称为inonValueChange.它发送的消息太快,无法让我连接的设备及时做出反应.所以我需要以任何方式放慢速度.有没有人知道如何减慢它,而不让我的主线程睡眠?当它处于休眠状态时,整个GUI在此期间没有响应.我尽量避免这种情况.
谢谢.