2011-02-08 3 views
0

볼륨 슬라이더 (색상 줄)가있는 사용자 정의 필드가 있습니다. 트랙 패드에서 슬라이더를 업데이트하고 싶습니다. 다른 방법이 있습니까? 다음에 무효화가 실행됩니까? 이것이 나를 위해 실제로 느리기 때문에, 은 지역 만 부정하지만 동일한 결과를 무효화하려고 시도했습니다. 그래서 거기에 무효화하지 않고 일부 필드를 다시 칠하는 방법?BlackBerry는 속도 문제를 무효화합니다

protected boolean navigationMovement(int dx, int dy, int status, int time) { 
    if (dx >0) { 
     if (value < maxValue) { 
      value++; 
      invalidate(xPosSlider + value*sliderStep, getHeight()/2 - SLIDER_HEIGHT/2, sliderStep, SLIDER_HEIGHT);         
      return true; 
     } 
    } else if (dx < 0) { 
     if (value > 0) { 
      value--; 
      invalidate(); 
      return true; 
     } 
    } 

    return super.navigationMovement(dx, dy, status, time); 
} 

답변

1

처음 보는 것은 사용자 코드입니다. 페인트 작업이 적시에 발생하지 않도록하는 짝수 스레드에서 시간을 많이 소비하고 있습니까? 그게 문제 일 수 있습니다.

그렇지 않으면 calling the paint method directly as shown here을 시도 할 수 있습니다. 하지만 가장 좋은 해결책은 이벤트 스레드가 별도의 스레드에서 수행해야하는 작업을 수행하지 않도록하는 것입니다.