Изменение формата хронометра с 0: 0 до 00:00? - PullRequest
1 голос
/ 23 сентября 2011

Я хочу, чтобы звезда хронометра была вот такой, если она в 0: 5 (M: S), я хочу вот так 00:05, это код, который я использую:

stopWatch = (Chronometer) findViewById(R.id.chrono);
    stopWatch.setOnChronometerTickListener(new OnChronometerTickListener(){
        @Override
        public void onChronometerTick(Chronometer arg0) {
            countUp = (SystemClock.elapsedRealtime() - arg0.getBase()) / 1000;
            String asText = (countUp / 60) + ":" + (countUp % 60); 
            time_view.setText("Time : " +asText);
        }
    });
    stopWatch.start();

где яизменить для этой модификации ..

Ответы [ 2 ]

2 голосов
/ 23 сентября 2011

Вы можете использовать NumberFormatter

NumberFormat formatter = new DecimalFormat("00");
stopWatch = (Chronometer) findViewById(R.id.chrono);
stopWatch.setOnChronometerTickListener(new OnChronometerTickListener(){
    @Override
    public void onChronometerTick(Chronometer arg0) {
        countUp = (SystemClock.elapsedRealtime() - arg0.getBase()) / 1000;
        String asText = formatter.format(countUp / 60) + ":" + formatter.format(countUp % 60); 
        time_view.setText("Time : " +asText);
    }
});
stopWatch.start();

Еще несколько примеров форматов чисел

0 голосов
/ 10 июня 2014

Вот простое и умное решение для формата времени 00:00:00 в хронометре в Android

Chronometer timeElapsed  = (Chronometer) findViewById(R.id.chronomete);
timeElapsed.setOnChronometerTickListener(new OnChronometerTickListener(){
    @Override
        public void onChronometerTick(Chronometer cArg) {
        long time = SystemClock.elapsedRealtime() - cArg.getBase();
        int h   = (int)(t/3600000);
        int m = (int)(t - h*3600000)/60000;
        int s= (int)(t - h*3600000- m*60000)/1000 ;
        String hh = h < 10 ? "0"+h: h+"";
        String mm = m < 10 ? "0"+m: m+"";
        String ss = s < 10 ? "0"+s: s+"";
        cArg.setText(hh+":"+mm+":"+ss);
    }
});
timeElapsed.setBase(SystemClock.elapsedRealtime());
timeElapsed.start();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...