0

我正在开发一个视频播放器,并试图让秒和分钟重置为 60 秒/分钟。

目前我可以让它完美运行,但是当它达到 60 时,我无法将 Integer/String 重置为 00。

我该怎么做呢?

我当前的代码:

pos = vv.getCurrentPosition();
sec = pos / 1000;
min = pos / 60000;
hr = pos / 3600000;

if (sec == 60) {
    sec = vv.getCurrentPosition();
}
if (min == 60) {
    min = vv.getCurrentPosition();
}

secs = Integer.toString(sec);
mins = Integer.toString(min) + ":";
hrs = Integer.toString(hr) + ":";

if (sec < 10) {
    secs = "0" + sec;
}
if (min < 10) {
    mins = "0" + min + ":";
}
if (hr < 10) {
    hrs = "0" + hr + ":";
}

if (hr == 00) {
    hrs = "";
}

hms = hrs + mins + secs;

tvProgress.setText(hms);

提前致谢

4

2 回答 2

1

通过做这样的事情来设置它有什么问题? int displaySeconds = secs % 60这样你就不会为你需要的任何其他类型的逻辑修改秒数,而且这总是会给你一个从 0 到 59 的数字。

另外,请查看String.format来设置您的字符串,而不是按照您现在的方式进行设置。

于 2013-07-06T16:11:30.540 回答
0

尝试过这样的事情:

final Runnable r = new Runnable()
{
    public void run() 
    {
        tv.append("Hello World");
        handler.postDelayed(this, 1000);
    }
};

handler.postDelayed(r, 1000);
于 2013-07-06T14:57:39.060 回答