如何一次停止循环 运行

How to stop for loop running all at once

我目前正在练习使用带有数组列表的 for 循环。每次用户得到正确的答案时,都会将一个额外的随机值添加到序列中。因此,一开始会闪烁一幅图像,每次都会依次闪烁一幅图像。

我遇到的问题是整个序列同时播放。例如,在第二个 运行 上,两个图像应该闪烁,一个然后另一个。但是我目前得到的是同时闪烁。我怎样才能打破循环,让一个闪烁,然后另一个闪烁。

我的代码如下:

ArrayList<Integer> list = new ArrayList<Integer>();
int retval;  

    public void Run(){

        Random rand = new Random();
        int rndInt = rand.nextInt(5)+ 1 ;       
        list.add(rndInt);
        int totalElements = list.size();

        for(int i=0; i < totalElements;i++ ){ 
            retval = list.get(i);

            if  (retval==1){

                Centre.setImageResource(R.drawable.flash1);
                Reset.start();// runs a class that resets the imageiew after a few seconds 
            }

            else if (retval==2){

                upperRight.setImageResource(R.drawable.flash2);
                Reset.start();
            }

            else if (retval==3){

                lowerRight.setImageResource(R.drawable.flash3);
                Reset.start();
            }

            else if (retval==4){    

                lowerLeft.setImageResource(R.drawable.flash4);
                Reset.start();
            }

            else if (retval==5){
                upperLeft.setImageResource(R.drawable.flash5);
                Reset.start();      
            }   
        }
    }

编辑

CountDownTimer Reset = new CountDownTimer(1000 , 0010){ 
        public void onTick(long millisUntilFinished) {      
        }
        public void onFinish() {        
            Centre.setImageResource(R.drawable.i1);
            upperRight.setImageResource(R.drawable.i2);
            lowerRight.setImageResource(R.drawable.i3);
            lowerLeft.setImageResource(R.drawable.i4);
            upperLeft.setImageResource(R.drawable.i5);              
            }
        };

好的,如果有人想按顺序显示图像,这是解决方法:

public void ZAP() { 
            if(i < totalElements){

                retval =list.get(i);

                if  (retval==1){                
                check = 1;              
                Centre.setImageResource(R.drawable.flash1);
             ResetTimer.start();        

            }       
            else if (retval==2){

                check = 2;          
                upperRight.setImageResource(R.drawable.flash2);                     
             ResetTimer.start();

            }   
            else if (retval==3){

                check =3;   
                lowerRight.setImageResource(R.drawable.flash3); 
                 ResetTimer.start();    

            }   
            else if (retval==4){

                check = 4;      
                lowerLeft.setImageResource(R.drawable.flash4); 
                 ResetTimer.start();

            }   
            else if (retval==5){

                check=5;
                upperLeft.setImageResource(R.drawable.flash5);  
                 ResetTimer.start();
            }}

            }
    public void Rand() {
            i=0 ;


        Random rand = new Random();
        int rndInt = rand.nextInt(5)+ 1 ;       
        list.add(rndInt);
         totalElements = list.size();
     Log.d("LOOK", Integer.toString(rndInt));
     Log.i("VALUE LIST ", list.toString()+" <<<<LIST HERE"); 
     ZAP();