我有一个关于 Android 的问题NumberPicker
。当用户在 a 上执行 Fling 时NumberPicker
,每一步OnValueChange
都会触发 Listener。我可以这样改变吗,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");
}
此方法称为 inonValueChange。它发送消息的速度太快,以至于我连接的设备无法及时做出反应。所以我需要以任何方式放慢速度。有谁知道如何在不让我的主线程休眠的情况下减慢它的速度?当它处于睡眠状态时,整个 GUI 在此期间没有响应。我尽量避免这种情况。
谢谢。