2017-03-26 9 views
0

10からカウントダウンするタイマーがあります。ゼロになると、配列内のランダムな画像ビューが表示されます。私はちょうどゼロに達するたびにこのタイマーをリセットしたい。どうすればこれを達成できますか?Androidスタジオ:Reset CountDownTimer

現在の試行:

public class rear_gunner extends AppCompatActivity { 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_rear_gunner); 
    View view2 = findViewById(R.id.item_frame); 
    final ImageView enemy1 = (ImageView) findViewById(R.id.enemy1); 
    ImageView enemy2 = (ImageView) findViewById(R.id.enemy2); 
    ImageView enemy3 = (ImageView) findViewById(R.id.enemy3); 
    ImageView enemy4 = (ImageView) findViewById(R.id.enemy4); 
    //sets screen orientation on created 
    this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 

    view2.bringToFront(); 
    final ImageView[] enemies = new ImageView[4]; 
    enemies[0] = enemy1; 
    enemies[1] = enemy2; 
    enemies[2] = enemy3; 
    enemies[3] = enemy4; 


    Random rand = new Random(); 
    int n = rand.nextInt(20) + 1; 

    CountDownTimer countDownTimer = new CountDownTimer(10000, 1000) { 
     @Override 
     public void onFinish() { 
      Random rand = new Random(); 
      int n = rand.nextInt(3) + 1; 
      enemies[n].setVisibility(View.VISIBLE); 
     } 

     @Override 
     public void onTick(long millisUntilFinished) { 

     } 

    }; 

    countDownTimer.start(); 
} 


} 

任意のヘルプまたはアドバイスはここにコードを改善するためにいただければ幸いですありがとうございました。その後、

答えて

2

のOnCreate(外オブジェクトCountDownTimerを作成します).start()をもう一度ランダムた後、そのオブジェクトが(onFinish内部で行われている)

CountDownTimer countDownTimer; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 


    countDownTimer = new CountDownTimer(2000, 1000) { 
     @Override 
     public void onFinish() { 
      //what you want to do after CountDownTimer is done 
      countDownTimer.start(); //start again 
     } 

     @Override 
     public void onTick(long millisUntilFinished) { 

     } 

    }; 

    countDownTimer.start(); 
} 
+1

が、これは –

+0

あなたは歓迎@GeorgeBrooksしている私のために働いたありがとう –