-1

Here my transition and reverse transition happens only once not 10 times, Can u tell me where I'm wrong ??

public class MainActivity extends AppCompatActivity {

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

        for(int i=0;i<10;i++)
        {
            Resources res = getApplicationContext().getResources();
            Drawable background[] = new Drawable[2];

            background[0] = res.getDrawable(R.drawable.shapes);
            background[1] = res.getDrawable(R.drawable.large_shape);
            final TransitionDrawable transition = new TransitionDrawable(background);
            ImageView imgview = findViewById(R.id.transitimage);
            imgview.setImageDrawable(transition);

            Runnable r1 = new Runnable() {
                @Override
                public void run() {
                    transition.startTransition(2000);
                }
            };

            Runnable r2 = new Runnable() {
                @Override
                public void run() {
                    transition.reverseTransition(2000);
                }
            };

            Handler h = new Handler();
            h.postDelayed(r1, 0);
            h.postDelayed(r2, 2000);
        }
    }
}
AskNilesh
  • 67,701
  • 16
  • 123
  • 163

1 Answers1

0
public void repeat() {
        new CountDownTimer(2000, 1000) {

            public void onTick(long millisUntilFinished) {
                if (i>9) {    // i is a field,its initial value equals 0
                    cancel(); // stop timer
                }
                if (flag) {
                    transition.startTransition(2000);
                } else {
                    transition.reverseTransition(2000);
                }
                flag = !flag;
                i += 1;

            }

            public void onFinish() {
                repeat();
            }
        }.start();
    }

Call above function in some place.

navylover
  • 12,383
  • 5
  • 28
  • 41