首页 > 解决方案 > 带有轮数显示的重复倒计时计时器

问题描述

我正在制作重复的倒数计时器,当我设置例如 2 轮之后,我希望在显示时看到“完成”,我得到 2/2 。我试着让它像下面的代码一样,但它不起作用。我用**标记我的意思的区域

 final Context cntx=this;
    btn1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            int num_rounds=0;
            try {
                num_rounds = Integer.parseInt(et1.getText().toString());
            }catch (Exception ex){
                Toast.makeText(cntx,"Invalid Integer", Toast.LENGTH_LONG).show();
                return;}
            if(num_rounds==0)
            {
                return;
            }
            final int[] round_count = {0};
            final int finalNum_rounds = num_rounds;
            CountDownTimer countDownTimer=new CountDownTimer(5000,1000) {
                @Override
                public void onTick(long millisUntilFinished) {
                    tv1.setText((round_count[0]+1)+"/"+finalNum_rounds+" "+(int) (millisUntilFinished/1000));

                }
                @Override
                public void onFinish() {
                    round_count[0]++;
                    if(round_count[0] < finalNum_rounds){
                        Handler handler=new Handler();
                        handler.postDelayed(new Runnable() {
                            @Override
                            public void run() {

                                start();
                            }
                        },5000);
                    }

                      ***
                    if (!tv1.equals(finalNum_rounds+"/"+finalNum_rounds )){
                        tv1.setText("Finish");
                    }
                       ***
                }
            }.start();
        }
    });

标签: javaandroidtimer

解决方案


推荐阅读