2011-02-08 6 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を試すことができます。しかし、最良の解決策は、あなたのイベントスレッドが別のスレッド上で実行されるべき作業をしていることを保証することです。

関連する問題