计时器类并非在所有设备中都适用

时间:2019-09-02 16:42:47

标签: android chronometer

我开发了一个android studio应用程序,问题是天文钟不能在所有设备上正常工作,我也遇到了三星s10和s8以及中兴通讯的问题。

我尝试了这两种创建计时器的方式

cronometro = (Chronometer) findViewById(R.id.cronometro); // this one works in some devices

cronometro =  new Chronometer(this); // this one dosen´t work

cronometro = (Chronometer) findViewById(R.id.cronometro);
        cronometroPoomsae =  new Chronometer(this);//(Chronometer) findViewById(R.id.cronometroPoomsae);



cronometro.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener()
        {
            @Override
            public void onChronometerTick(Chronometer chronometer)
            {
                //long restante = totalTiempoRound;
                long elapsedTime = kerougi.totalTiempoRound  - kerougi.tiempoTrancurrido - (SystemClock.elapsedRealtime() - chronometer.getBase());
                if(elapsedTime>0){
                    String hms = String.format("%02d:%02d",
                            TimeUnit.MILLISECONDS.toMinutes(elapsedTime) % TimeUnit.HOURS.toMinutes(1),
                            TimeUnit.MILLISECONDS.toSeconds(elapsedTime) % TimeUnit.MINUTES.toSeconds(1));
                    tiempoRestante.setText(hms);
                }
                else{
                    cronometro.stop();
                    kerougi.tiempoTrancurrido = 0;
                    if(kerougi.numeroRound == kerougi.vNumeroRounds){
                        if(kerougi.vRoundDesempate == 1){
                            kerougi.enRoundDesempate = true;
                            crearDialog("Entretiempo","Se encuentra en descanso reglamentario.Para seguir pulse botón continuar.",1);
                        }
                        else{
                            String ganador = "EMPATE";
                            if (kerougi.puntajeAzul>kerougi.puntajeRojo) ganador = "CHUNG";
                            else if (kerougi.puntajeRojo>kerougi.puntajeAzul) ganador = "HONG";

                            crearDialog("Resultado","El combate ha acabado, el ganador ha sido: " + ganador,3);
                        }
                    }
                    else{
                        crearDialog("Entretiempo","Se encuentra en descanso reglamentario.Para seguir pulse botón continuar.",1);
                    }

                }
            }
        });

我找不到错误,我在网上看了,一切看起来都一样

0 个答案:

没有答案