Android NumberPicker
에 관한 질문이 있습니다. 사용자가 NumberPicker
에서 Fling을 수행 할 때마다 매 단계마다 OnValueChange
에 대한 Listener가 트리거됩니다. oldVal과 newVal이 서로 1을 초과하여 서로 다를 수 있고 Listener가 한 번만 트리거된다는 것을 이렇게 변경할 수 있습니까?Android NumberPicker OnValueChangeListener
미리 감사드립니다.
편집 : 나는 더 구체적으로 내 코드에서 설명하려고합니다.
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가이 시간 동안 응답하지 않습니다. 나는 이것을 피하려고 노력한다.
감사합니다.
아직 내 문제가 해결되지 않았습니다. 내가하고 싶은 것은 다음과 같습니다. 그것이 멈 추면 새 값과 새끼 전에 값 사이의 차이를 얻습니다. 그 값으로 어떤 기능을하십시오. 또한 동일한 기능을 원합니다. 값이 1 회만 클릭되고 아무런 클릭 없이도 변경됩니다. 어떤 방식 으로든 변경 될 때마다 차이만큼 높은 많은 수의 명령을 보내야합니다. – schorschel
업데이트 된 응답이 구현해야하는 내용과 일치하는지 확인하십시오. – jpintado