【发布时间】:2013-05-11 13:44:24
【问题描述】:
我有一个关于 Android NumberPicker 的问题。
当用户在 NumberPicker 上执行 Fling 时,每一步都会触发 OnValueChange 的侦听器。我可以这样改变吗,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 在此期间没有响应。我尽量避免这种情况。
谢谢。
【问题讨论】:
标签: android valuechangelistener numberpicker