Android について質問がありますNumberPicker
。ユーザーが で Fling を実行している場合、NumberPicker
1 ステップごとに ListenerOnValueChange
がトリガーされます。oldVal と newVal が互いに 1 以上異なる可能性があり、Listener が 1 回だけトリガーされるように、これを変更できますか?
前もって感謝します。
編集:コードでより具体的に説明しようとします。
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 全体が応答しません。私はこれを避けようとします。
ありがとう。