0

ユーザーが画面に触れると振動が開始され、3000 ミリ秒続くこの Android コードを使用しました。ユーザーが常に画面に触れると、振動の持続時間が以前と同じ(3000ミリ秒)になることは望ましくありません。振動がランダムな時間持続するたびに、ランダムを使用したいと思います。コードに従ってランダムを使用するにはどうすればよいですか?

私を助けてください。

public boolean dispatchTouchEvent(MotionEvent ev) 
{    
   if (ev.getAction() == MotionEvent.ACTION_UP)
   {    
      Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);    
      v.vibrate(3000);    
   }    
   return super.dispatchTouchEvent(ev);   
}    
4

1 に答える 1

3

Randomクラスを使用します。

private Random rnd = new Random();

private int randRange(int min, int max) {
    return min + rnd.nextInt(max - min);
}

public boolean dispatchTouchEvent(MotionEvent ev) {
    if (ev.getAction() == MotionEvent.ACTION_UP) {
        Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
        v.vibrate(randRange(min, max)); // integer variables of your choice
    }
    return super.dispatchTouchEvent(ev);
}

混乱する場合は、メソッドを私Random.nextInt(int)が行った方法で記述した理由を理解するために、 のドキュメントを参照してください。randRange

于 2012-03-23T00:06:31.660 に答える