2015-04-21 2 views
0

У меня есть пять текстовых просмотров. У каждого есть значок, у которого есть видимость. Я хочу, когда я нажимаю кнопку, чтобы значки появлялись по одной за раз с задержкой в ​​2 секунды друг от друга. Это мой фактический код для события OnClick:Как задержать появление изображения с обработчиком postDelayed

public void checkAnswers(View v) 
    { 
     Handler handler = new Handler(Looper.getMainLooper()); 
     fadeInAnimation = AnimationUtils.loadAnimation(activity_Trivia.this, R.anim.fade_in); 
     handler.postDelayed(new Runnable() { 
      @Override 
      public void run() { 
       badge1.startAnimation(fadeInAnimation); 
       badge1.setVisibility(View.VISIBLE); 
      } 
     }, 0); 
     handler.postDelayed(new Runnable() { 
      @Override 
      public void run() { 
       badge2.startAnimation(fadeInAnimation); 
       badge2.setVisibility(View.VISIBLE); 
      } 
     }, 2000); 
     handler.postDelayed(new Runnable() { 
      @Override 
      public void run() { 
       badge3.startAnimation(fadeInAnimation); 
       badge3.setVisibility(View.VISIBLE); 
      } 
     }, 4000); 
     handler.postDelayed(new Runnable() { 
      @Override 
      public void run() { 
       badge4.startAnimation(fadeInAnimation); 
       badge4.setVisibility(View.VISIBLE); 
      } 
     }, 6000); 
     handler.postDelayed(new Runnable() { 
      @Override 
      public void run() { 
       badge5.startAnimation(fadeInAnimation); 
       badge5.setVisibility(View.VISIBLE); 
      } 
     }, 8000); 
    } 

Проблема заключается в том, что после первой задержки, когда второй значок появляется, первый бейдж шкуры и снова появляется со второй и так далее. Я хочу первый значок, второй значок ..., чтобы оставаться видимым, пока появляется следующий значок. Есть идеи? Я искал, но ничего не вышло. Спасибо!

ответ

2

Создайте отдельный объект Animation для каждого значка (звонок AnimationUtils.loadAnimation(...) один раз за каждый значок).

Это должно решить проблему.